21#include "safestring.h"
23#include <QtCore/QStringList>
28 : m_nestedString(this), m_safety(
IsNotSafe), m_needsescape(false)
33 : m_nestedString(safeString.
get(), this), m_safety(safeString.m_safety),
34 m_needsescape(safeString.m_needsescape)
45 : m_nestedString(str, this), m_safety(safety), m_needsescape(false)
51void SafeString::setNeedsEscape(
bool needsEscape)
65SafeString::NestedString::NestedString(
SafeString *safeString)
66 : m_safeString(safeString)
70SafeString::NestedString::NestedString(
const QString &content,
72 :
QString(content), m_safeString(safeString)
80 m_nestedString = str.m_nestedString;
81 m_nestedString.m_safeString =
this;
82 m_safety = str.m_safety;
83 m_needsescape = str.m_needsescape;
107 m_nestedString += str;
116 m_nestedString += str.
get();
124 return m_nestedString == other.
get();
129 return m_nestedString == other;
138 return *m_safeString;
145 return *m_safeString;
148#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 2)
153 return *m_safeString;
161 return *m_safeString;
168 return *m_safeString;
181 return *m_safeString;
185 const Cutelee::SafeString &str)
191 return *m_safeString;
197 return *m_safeString;
204 return *m_safeString;
211 return *m_safeString;
217 return *m_safeString;
229 m_safeString->m_safety);
256 return *m_safeString;
263 return *m_safeString;
270 return *m_safeString;
277 return *m_safeString;
283 m_safeString->m_safety = other.m_safety;
289 m_safeString->m_safety = other.m_safety;
296 return *m_safeString;
303 return *m_safeString;
311 return *m_safeString;
319 return *m_safeString;
326 return *m_safeString;
335 const Cutelee::SafeString &after)
338 m_safeString->m_safety = after.m_safety;
339 return *m_safeString;
343 const QString &after)
347 return *m_safeString;
351 const QChar *unicode,
int size)
355 return *m_safeString;
362 return *m_safeString;
367 const Cutelee::SafeString &after,
371 m_safeString->m_safety = after.m_safety;
372 return *m_safeString;
376 const Cutelee::SafeString &after,
381 return *m_safeString;
390 return *m_safeString;
394 const QString &after,
399 return *m_safeString;
403 const QChar *after,
int alen,
408 return *m_safeString;
415 m_safeString->m_safety = after.m_safety;
416 return *m_safeString;
424 return *m_safeString;
432 return *m_safeString;
441 return *m_safeString;
445 const Cutelee::SafeString &after,
449 m_safeString->m_safety = after.m_safety;
450 return *m_safeString;
454 const QString &after,
459 return *m_safeString;
468 m_safeString->m_safety = before.m_safety;
469 return *m_safeString;
478 return *m_safeString;
487 return *m_safeString;
491 const Cutelee::SafeString &after)
494 m_safeString->m_safety = after.m_safety;
495 return *m_safeString;
499 const QString &after)
503 return *m_safeString;
515 m_safeString->m_safety);
523 m_safeString->m_safety);
530 m_safeString->m_safety);
538 m_safeString->m_safety);
546 m_safeString->m_safety);
553 return *m_safeString;
560 return *m_safeString;
567 return *m_safeString;
574 return *m_safeString;
581 return *m_safeString;
588 return *m_safeString;
595 return *m_safeString;
602 return *m_safeString;
610 return *m_safeString;
618 return *m_safeString;
625 return *m_safeString;
632 return *m_safeString;
640#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
A QString wrapper class for containing whether a string is safe or needs to be escaped.
const NestedString & get() const
SafeString & operator+=(const QString &str)
SafeString operator+(const QString &str)
SafeString & operator=(const SafeString &str)
bool operator==(const SafeString &other) const
@ IsSafe
The string is safe and requires no further escaping.
The Cutelee namespace holds all public Cutelee API.
QStringList split(const QString &sep, SplitBehavior behavior, Qt::CaseSensitivity cs) const const
QString & append(QChar ch)
QString & fill(QChar ch, int size)
QString & insert(int position, QChar ch)
QString left(int n) const const
QString leftJustified(int width, QChar fill, bool truncate) const const
QString mid(int position, int n) const const
QString normalized(NormalizationForm mode, QChar::UnicodeVersion version) const const
QString & prepend(QChar ch)
void push_front(QChar ch)
QString & remove(int position, int n)
QString repeated(int times) const const
QString & replace(int position, int n, QChar after)
QString right(int n) const const
QString rightJustified(int width, QChar fill, bool truncate) const const
QString section(QChar sep, int start, int end, SectionFlags flags) const const
QString & setNum(short n, int base)
QString & setUnicode(const QChar *unicode, int size)
QString & setUtf16(const ushort *unicode, int size)
QString simplified() const const
QString toLower() const const
QString toUpper() const const
QString trimmed() const const