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);
245 QChar::UnicodeVersion version)
const
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)
642 QString::SplitBehavior behavior,
649 QString::SplitBehavior behavior,
656 QString::SplitBehavior behavior,
664 QString::SplitBehavior behavior)
const
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.
QString & append(QChar ch)
QString & fill(QChar ch, qsizetype size)
QString & insert(qsizetype position, QChar ch)
QString left(qsizetype n) &&
QString leftJustified(qsizetype width, QChar fill, bool truncate) const const
QString mid(qsizetype position, qsizetype n) &&
QString normalized(QString::NormalizationForm mode, int version) const const
QString & prepend(QChar ch)
void push_front(QChar ch)
QString & remove(QChar ch, Qt::CaseSensitivity cs)
QString repeated(qsizetype times) const const
QString & replace(QChar before, QChar after, Qt::CaseSensitivity cs)
QString right(qsizetype n) &&
QString rightJustified(qsizetype width, QChar fill, bool truncate) const const
QString section(QChar sep, qsizetype start, qsizetype end, QString::SectionFlags flags) const const
QString & setNum(double n, char format, int precision)
QString & setUnicode(const QChar *unicode, qsizetype size)
QString & setUtf16(const char16_t *unicode, qsizetype size)
QString simplified() const const
QStringList split(QChar sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const const
QString toLower() const const
QString toUpper() const const
QString trimmed() const const