diff options
Diffstat (limited to 'sources/shiboken6/tests/libsample/str.h')
-rw-r--r-- | sources/shiboken6/tests/libsample/str.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/sources/shiboken6/tests/libsample/str.h b/sources/shiboken6/tests/libsample/str.h new file mode 100644 index 000000000..6b3386cef --- /dev/null +++ b/sources/shiboken6/tests/libsample/str.h @@ -0,0 +1,52 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#ifndef STR_H +#define STR_H + +#include "libsamplemacros.h" + +#include <string> + +class LIBSAMPLE_API Str +{ +public: + Str(char c); + Str(const char *cstr = ""); + + Str arg(const Str &s) const; + + Str &append(const Str &s); + Str &prepend(const Str &s); + + const char *cstring() const; + char get_char(int pos) const; + bool set_char(int pos, char ch); + + int toInt(bool *ok = nullptr, int base = 10) const; + + void show() const; + + inline int size() const { return int(m_str.size()); } + + // nonsense operator just to test reverse operators + Str operator+(int number) const; + bool operator==(const Str &other) const; + bool operator<(const Str &other) const; + +private: + void init(const char *cstr); + std::string m_str; + + friend LIBSAMPLE_API Str operator+(int number, const Str &str); + friend LIBSAMPLE_API unsigned int strHash(const Str &str); +}; + +LIBSAMPLE_API Str operator+(int number, const Str &str); +LIBSAMPLE_API unsigned int strHash(const Str &str); + +using PStr = Str; +LIBSAMPLE_API void changePStr(PStr *pstr, const char *suffix); +LIBSAMPLE_API void duplicatePStr(PStr *pstr = nullptr); + +#endif // STR_H |