aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/tests/libsample/str.h
diff options
context:
space:
mode:
Diffstat (limited to 'sources/shiboken6/tests/libsample/str.h')
-rw-r--r--sources/shiboken6/tests/libsample/str.h52
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