summaryrefslogtreecommitdiffstats
path: root/src/Runtime/ogl-runtime/src/foundation/StringTools.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Runtime/ogl-runtime/src/foundation/StringTools.h')
m---------src/Runtime/ogl-runtime0
-rw-r--r--src/Runtime/ogl-runtime/src/foundation/StringTools.h614
2 files changed, 0 insertions, 614 deletions
diff --git a/src/Runtime/ogl-runtime b/src/Runtime/ogl-runtime
new file mode 160000
+Subproject 427fddb50d43aa21a90fc7356ee3cdd8a908df5
diff --git a/src/Runtime/ogl-runtime/src/foundation/StringTools.h b/src/Runtime/ogl-runtime/src/foundation/StringTools.h
deleted file mode 100644
index 43324b46..00000000
--- a/src/Runtime/ogl-runtime/src/foundation/StringTools.h
+++ /dev/null
@@ -1,614 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2008-2012 NVIDIA Corporation.
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt 3D Studio.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#pragma once
-#ifndef QT3DS_RENDER_STRING_H
-#define QT3DS_RENDER_STRING_H
-#include <QtCore/qstring.h>
-#include <QtCore/qbytearray.h>
-#include <QtCore/qhash.h>
-#include <string>
-
-#include "Qt3DSRender.h"
-#include "EASTL/string.h"
-
-namespace qt3ds {
-namespace foundation {
-
-class Qt3DSStringUtils {
-public:
- static inline QString ConvertUTFtoQString(const char16_t *string)
- {
- return QString::fromUtf16(string);
- }
-
- static inline QString ConvertUTFtoQString(const char32_t *string)
- {
- return QString::fromUcs4(string);
- }
-
- static inline QString ConvertUTFtoQString(const wchar_t *string)
- {
- return QString::fromWCharArray(string);
- }
-
- static inline QString &append(QString &target, QString::iterator begin,
- QString::iterator end)
- {
- for (QString::iterator iter = begin;iter != end;++iter)
- target.append(*iter);
- return target;
- }
-
- static inline QString &append(QString &target, QString::const_iterator begin,
- QString::const_iterator end)
- {
- for (QString::const_iterator iter = begin;iter != end;++iter)
- target.append(*iter);
- return target;
- }
-
- /**
- * @brief replace Replaces specified portion of a string.
- * @param source Source text that will be used. Note: This is const and will
- * not be directly modified.
- * @param first First character in the range that will be replaced.
- * @param last Last character in the range that will be replaced.
- * @param replaceText Pointer to the character string to use for replacement.
- * @param len Length of the replacement character string.
- * @return Returns a new QString containing the modified result.
- */
- static inline QString replace(const QString &source,
- QString::const_iterator first,
- QString::const_iterator last,
- const char *replaceText, int len)
- {
- return replace(source, first, last, QString::fromUtf8(replaceText, len));
- }
-
- /**
- * @brief replace Replaces specified portion of a string.
- * @param source Source text that will be used. Note: This is const and will
- * not be directly modified.
- * @param first First character in the range that will be replaced.
- * @param last Last character in the range that will be replaced.
- * @param replaceText String to use for replacement.
- * @return Returns a new QString containing the modified result.
- */
- static inline QString replace(const QString &source,
- QString::const_iterator first,
- QString::const_iterator last,
- const QString &replaceText)
- {
- QString newStr;
- for (QString::const_iterator iter = source.constBegin(); iter != first;
- iter++)
- newStr.append(*iter);
-
- newStr.append(replaceText);
-
- for (QString::const_iterator iter = last; iter != source.constEnd();
- iter++)
- newStr.append(*iter);
- return newStr;
- }
-
- /**
- * @brief replace Replaces specified portion of a string.
- * @param source Source text that will be used. Note: This is const and
- * will not be directly modified.
- * @param first First character in the range that will be replaced.
- * @param last Last character in the range that will be replaced.
- * @param replaceText Pointer to the character string to use for replacement.
- * @param len Length of the replacement character string.
- * @return Returns a temporary object allocated on the stack containing
- * the modified result.
- */
- static inline QString &replace(QString &target,
- QString::iterator first,
- QString::iterator last,
- const char *replaceText, int len)
- {
- return replace(target, first, last, QString::fromUtf8(replaceText, len));
- }
-
- /**
- * @brief replace Replaces specified portion of a string.
- * @param target Target QString that will be modified.
- * @param first First character in the range that will be replaced.
- * @param last Last character in the range that will be replaced.
- * @param replaceText String to use for replacement.
- * @return Returns the string given in target, containing the modified result.
- */
- static inline QString &replace(QString &target,
- QString::iterator first,
- QString::iterator last,
- const QString &replaceText)
- {
- QString newStr;
- for (QString::iterator iter = target.begin(); iter != first; iter++)
- newStr.append(*iter);
-
- newStr.append(replaceText);
-
- for (QString::iterator iter = last; iter != target.end(); iter++)
- newStr.append(*iter);
-
- target = newStr;
- return target;
- }
-};
-
-class Qt3DSString {
-public:
- inline Qt3DSString() {}
-
- Qt3DSString(QChar c) : m_string(QString(c)) {}
-
- Qt3DSString(int size, QChar c) : m_string(size, c) {}
-
- inline Qt3DSString(QLatin1String latin1)
- : m_string(latin1) {}
-
- explicit Qt3DSString(const QChar *unicode, int size = -1)
- : m_string(unicode,size) {}
-
- inline Qt3DSString(const QString &str) Q_DECL_NOTHROW
- : m_string(str) {}
-
- inline Qt3DSString(const Qt3DSString &str) Q_DECL_NOTHROW
- : m_string(str.m_string) {}
-
- ~Qt3DSString() {}
-
- inline operator QString() const
- {
- return m_string;
- }
-
- inline void operator=(const Qt3DSString &text)
- {
- m_string = text.m_string;
- m_isDirty = true;
- }
-
- inline void operator=(const QString &text)
- {
- m_string = text;
- m_isDirty = true;
- }
-
- // QString method wrappers
- static inline Qt3DSString fromUtf8(const char *str, int size = -1)
- {
- return Qt3DSString(QString::fromUtf8(str, size));
- }
-
- typedef int size_type;
- typedef qptrdiff difference_type;
- typedef const QChar & const_reference;
- typedef QChar & reference;
- typedef QChar *pointer;
- typedef const QChar *const_pointer;
- typedef QChar value_type;
- typedef QChar *iterator;
- typedef const QChar *const_iterator;
- typedef iterator Iterator;
- typedef const_iterator ConstIterator;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
- inline iterator begin() { return m_string.begin(); }
- inline const_iterator begin() const { return m_string.begin(); }
- inline const_iterator cbegin() const { return m_string.cbegin(); }
- inline const_iterator constBegin() const { return m_string.constBegin(); }
- inline iterator end() { return m_string.end(); }
- inline const_iterator end() const { return m_string.end(); }
- inline const_iterator cend() const { return m_string.cend(); }
- inline const_iterator constEnd() const { return m_string.constEnd(); }
- reverse_iterator rbegin() { return reverse_iterator(end()); }
- reverse_iterator rend() { return reverse_iterator(begin()); }
- const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); }
- const_reverse_iterator rend() const { return const_reverse_iterator(begin()); }
- const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); }
- const_reverse_iterator crend() const { return const_reverse_iterator(begin()); }
-
- inline void push_back(QChar c)
- {
- m_string.push_back(c);
- m_isDirty = true;
- }
-
- inline void push_back(const QString &s)
- {
- m_string.push_back(s);
- m_isDirty = true;
- }
-
- inline void push_front(QChar c)
- {
- m_string.push_front(c);
- m_isDirty = true;
- }
-
- inline void push_front(const QString &s)
- {
- m_string.push_front(s);
- m_isDirty = true;
- }
-
- inline bool operator==(const QString &rhs)
- {
- return rhs == m_string;
- }
-
- inline bool operator<(const QString &rhs)
- {
- return m_string < rhs;
- }
-
- inline bool operator!=(const QString &rhs)
- {
- return !(*this == rhs);
- }
-
- inline bool operator>(const QString& rhs)
- {
- return (rhs < m_string);
- }
-
- inline bool operator<=(const QString& rhs)
- {
- return !operator> (rhs);
- }
-
- inline bool operator>=(const QString& rhs)
- {
- return !operator< (rhs);
- }
-
- inline Qt3DSString& operator+=(const QString &rhs)
- {
- m_string += rhs;
- m_isDirty = true;
- return *this;
- }
-
- inline Qt3DSString& operator+=(const char *s)
- {
- m_string += s;
- m_isDirty = true;
- return *this;
- }
-
- inline bool isEmpty() const
- {
- return m_string.isEmpty();
- }
-
- int indexOf(const QString &str, int from = 0,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const
- {
- return m_string.indexOf(str, from, cs);
- }
-
- int indexOf(QChar ch, int from = 0,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const
- {
- return m_string.indexOf(ch, from, cs);
- }
-
- int indexOf(QLatin1String str, int from = 0,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const
- {
- return m_string.indexOf(str, from, cs);
- }
-
- int indexOf(const QStringRef &str, int from = 0,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const
- {
- return m_string.indexOf(str, from, cs);
- }
-
- int lastIndexOf(const QString &str, int from = -1,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const
- {
- return m_string.lastIndexOf(str, from, cs);
- }
-
- int lastIndexOf(QChar ch, int from = -1,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const
- {
- return m_string.lastIndexOf(ch, from, cs);
- }
-
- int lastIndexOf(QLatin1String str, int from = -1,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const
- {
- return m_string.lastIndexOf(str, from, cs);
- }
-
- int lastIndexOf(const QStringRef &str, int from = -1,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const
- {
- return m_string.lastIndexOf(str, from, cs);
- }
-
- inline void clear()
- {
- m_string.clear();
- m_isDirty = true;
- }
-
- inline Qt3DSString &insert(int i, QChar c)
- {
- m_string.insert(i,c);
- m_isDirty = true;
- return *this;
- }
- inline Qt3DSString &insert(int i, const QChar *uc, int len)
- {
- m_string.insert(i,uc, len);
- m_isDirty = true;
- return *this;
- }
- inline Qt3DSString &insert(int i, const QString &s)
- {
- m_string.insert(i,s);
- m_isDirty = true;
- return *this;
- }
- inline Qt3DSString &insert(int i, const QStringRef &s)
- {
- m_string.insert(i,s);
- m_isDirty = true;
- return *this;
- }
-
- inline Qt3DSString &insert(int i, QLatin1String s)
- {
- m_string.insert(i,s);
- m_isDirty = true;
- return *this;
- }
-
- inline int size() const
- {
- return m_string.size();
- }
-
- inline int length() const {
- return m_string.length();
- }
-
- inline Qt3DSString &append(QChar c)
- {
- m_string.append(c);
- m_isDirty = true;
- return *this;
- }
-
- inline Qt3DSString &append(const QChar *uc, int len)
- {
- m_string.append(uc, len);
- m_isDirty = true;
- return *this;
- }
-
- inline Qt3DSString &append(const QString &s)
- {
- m_string.append(s);
- m_isDirty = true;
- return *this;
- }
-
- inline Qt3DSString &append(const QStringRef &s)
- {
- m_string.append(s);
- m_isDirty = true;
- return *this;
- }
-
- inline Qt3DSString &append(QLatin1String s)
- {
- m_string.append(s);
- m_isDirty = true;
- return *this;
- }
-
- inline int compare(const QString &s,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const
- {
- return m_string.compare(s, cs);
- }
-
- // Compatibility wrappers for std::basic_string and eastl::basic_string
- // Required for now for the Qt 3D Studio's template classes.
- static const int npos = -1;
-
- inline char operator[](int idx) const
- {
- return m_string[idx].toLatin1();
- }
-
- inline void assign(const char *text)
- {
- m_string = QString::fromUtf8(text);
- m_isDirty = true;
- }
-
- inline void assign(const char16_t *text)
- {
- m_string = QString::fromUtf16(text);
- m_isDirty = true;
- }
-
- inline void assign(const char32_t *text)
- {
- m_string = QString::fromUcs4(text);
- m_isDirty = true;
- }
-
- inline void assign(const wchar_t *text)
- {
- m_string = QString::fromWCharArray(text);
- m_isDirty = true;
- }
-
- inline void assign(const eastl::string &text)
- {
- m_string = QString::fromUtf8(text.c_str());
- m_isDirty = true;
- }
-
- inline void operator=(const char *text)
- {
- assign(text);
- }
-
- inline void operator=(const char16_t *text)
- {
- assign(text);
- }
-
- inline void operator=(const char32_t *text)
- {
- assign(text);
- }
-
- inline void operator=(const wchar_t *text)
- {
- assign(text);
- }
-
- inline void operator=(const eastl::string &text)
- {
- assign(text);
- }
-
- inline void operator=(const eastl::basic_string<char*> &text)
- {
- assign(*text.c_str());
- }
-
- inline Qt3DSString &append(QString::iterator first,
- QString::iterator last)
- {
- Qt3DSStringUtils::append(m_string, first, last);
- m_isDirty = true;
- return *this;
- }
-
- inline Qt3DSString &append(QString::const_iterator first,
- QString::const_iterator last)
- {
- Qt3DSStringUtils::append(m_string, first, last);
- m_isDirty = true;
- return *this;
- }
-
- inline Qt3DSString &append(const char *text, int size)
- {
- m_string.append(QString::fromUtf8(text, size));
- m_isDirty = true;
- return *this;
- }
-
- inline Qt3DSString &append(const char *text)
- {
- m_string.append(QString::fromUtf8(text));
- m_isDirty = true;
- return *this;
- }
-
- inline Qt3DSString &replace(QString::iterator replaceBegin,
- QString::iterator replaceEnd,
- const char *replaceText, int len)
- {
- return replace(replaceBegin, replaceEnd,
- QString::fromUtf8(replaceText, len));
- }
-
- inline Qt3DSString &replace(QString::iterator replaceBegin,
- QString::iterator replaceEnd,
- const QString &replaceText)
- {
- m_string = Qt3DSStringUtils::replace(this->m_string,
- replaceBegin, replaceEnd,
- replaceText);
- m_isDirty = true;
- return *this;
- }
-
- inline Qt3DSString &replace(QString::const_iterator replaceBegin,
- QString::const_iterator replaceEnd,
- const QString &replaceText)
- {
- m_string = Qt3DSStringUtils::replace(this->m_string,
- replaceBegin, replaceEnd,
- replaceText);
- m_isDirty = true;
- return *this;
- }
-
- inline QByteArray toUtf8() const
- {
- updateCache();
- return m_array;
- }
-
- inline const char *c_str() const
- {
- updateCache();
- return m_array.constData();
- }
-
- inline const char *c_str()
- {
- updateCache();
- return m_array.constData();
- }
-
-private:
- inline void updateCache() const
- {
- if (m_isDirty) {
- m_array = m_string.toUtf8();
- m_isDirty = false;
- }
- }
-
- QString m_string;
- mutable bool m_isDirty = true;
- mutable QByteArray m_array;
-};
-
-}
-}
-
-#endif