2016-06-25 23:54:21 -04:00
|
|
|
/* ustring.h
|
|
|
|
|
|
|
|
Copyright (c) 2016, Nikolaj Schlej. All rights reserved.
|
|
|
|
This program and the accompanying materials
|
|
|
|
are licensed and made available under the terms and conditions of the BSD License
|
|
|
|
which accompanies this distribution. The full text of the license may be found at
|
|
|
|
http://opensource.org/licenses/bsd-license.php
|
|
|
|
|
|
|
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef USTRING_H
|
|
|
|
#define USTRING_H
|
|
|
|
|
2016-07-07 01:57:45 -04:00
|
|
|
#if defined (QT_CORE_LIB)
|
2016-06-25 23:54:21 -04:00
|
|
|
// Use Qt class, if Qt is available
|
|
|
|
#include <QString>
|
|
|
|
#define UString QString
|
2016-07-09 04:01:41 -04:00
|
|
|
#define findreplace replace
|
2016-06-25 23:54:21 -04:00
|
|
|
#else
|
2016-06-26 04:05:45 -04:00
|
|
|
// Use Bstrlib
|
|
|
|
#define BSTRLIB_DOESNT_THROW_EXCEPTIONS
|
2017-01-13 19:24:56 -05:00
|
|
|
#include "bstrlib/bstrwrap.h"
|
2016-06-26 04:05:45 -04:00
|
|
|
#define UString CBString
|
2016-06-25 23:54:21 -04:00
|
|
|
#endif // QT_CORE_LIB
|
|
|
|
|
2023-06-19 21:01:25 -04:00
|
|
|
#if defined(__clang__) || defined(__GNUC__)
|
|
|
|
#define ATTRIBUTE_FORMAT_(t,f,a) __attribute__((format(t, f, a)))
|
|
|
|
#else
|
|
|
|
#define ATTRIBUTE_FORMAT_(t,f,a)
|
|
|
|
#endif
|
|
|
|
|
2021-10-07 11:51:39 -04:00
|
|
|
UString usprintf(const char* fmt, ...) ATTRIBUTE_FORMAT_(printf, 1, 2);
|
2016-07-09 05:18:11 -04:00
|
|
|
UString urepeated(char c, int len);
|
2023-01-31 23:15:12 -05:00
|
|
|
UString uFromUcs2(const char* str, size_t max_len = 0);
|
2016-06-25 23:54:21 -04:00
|
|
|
|
|
|
|
#endif // USTRING_H
|