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)
39 : m_nestedString(str, this), m_safety(safe ? IsSafe : IsNotSafe),
45 : m_nestedString(str, this), m_safety(safety), m_needsescape(false)
51 void SafeString::setNeedsEscape(
bool needsEscape)
65 SafeString::NestedString::NestedString(
SafeString *safeString)
66 : m_safeString(safeString)
70 SafeString::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;
95 return SafeString(static_cast<QString>(m_nestedString)
98 return SafeString(static_cast<QString>(m_nestedString)
99 + static_cast<QString>(str.
get()),
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;
152 return *m_safeString;
159 return *m_safeString;
166 return *m_safeString;
179 return *m_safeString;
189 return *m_safeString;
195 return *m_safeString;
202 return *m_safeString;
209 return *m_safeString;
215 return *m_safeString;
227 m_safeString->m_safety);
254 return *m_safeString;
261 return *m_safeString;
268 return *m_safeString;
275 return *m_safeString;
281 m_safeString->m_safety = other.m_safety;
287 m_safeString->m_safety = other.m_safety;
294 return *m_safeString;
301 return *m_safeString;
309 return *m_safeString;
317 return *m_safeString;
324 return *m_safeString;
336 m_safeString->m_safety = after.m_safety;
337 return *m_safeString;
345 return *m_safeString;
349 const QChar *unicode,
int size)
353 return *m_safeString;
360 return *m_safeString;
369 m_safeString->m_safety = after.m_safety;
370 return *m_safeString;
379 return *m_safeString;
388 return *m_safeString;
397 return *m_safeString;
401 const QChar *after,
int alen,
406 return *m_safeString;
413 m_safeString->m_safety = after.m_safety;
414 return *m_safeString;
422 return *m_safeString;
430 return *m_safeString;
439 return *m_safeString;
447 m_safeString->m_safety = after.m_safety;
448 return *m_safeString;
457 return *m_safeString;
466 m_safeString->m_safety = before.m_safety;
467 return *m_safeString;
476 return *m_safeString;
485 return *m_safeString;
492 m_safeString->m_safety = after.m_safety;
493 return *m_safeString;
501 return *m_safeString;
513 m_safeString->m_safety);
521 m_safeString->m_safety);
528 m_safeString->m_safety);
536 m_safeString->m_safety);
544 m_safeString->m_safety);
551 return *m_safeString;
558 return *m_safeString;
565 return *m_safeString;
572 return *m_safeString;
579 return *m_safeString;
586 return *m_safeString;
593 return *m_safeString;
600 return *m_safeString;
608 return *m_safeString;
616 return *m_safeString;
623 return *m_safeString;
630 return *m_safeString;
QString & append(QChar ch)
QString toUpper() const const
QString & fill(QChar ch, qsizetype size)
The Cutelee namespace holds all public Cutelee API.
SafeString & operator+=(const QString &str)
QString & prepend(QChar ch)
bool operator==(const SafeString &other) const
QString simplified() const const
QString normalized(NormalizationForm mode, QChar::UnicodeVersion version) const const
SafeString & operator=(const SafeString &str)
QString & insert(qsizetype position, QChar ch)
QString rightJustified(qsizetype width, QChar fill, bool truncate) const const
QString trimmed() const const
A QString wrapper class for containing whether a string is safe or needs to be escaped.
QString right(qsizetype n) const const
QString toLower() const const
QString & remove(QChar ch, Qt::CaseSensitivity cs)
QString & replace(QChar before, QChar after, Qt::CaseSensitivity cs)
SafeString operator+(const QString &str)
QString mid(qsizetype position, qsizetype n) const const
QStringList split(QChar sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const const
QString & setNum(double n, char format, int precision)
void push_front(QChar ch)
QString leftJustified(qsizetype width, QChar fill, bool truncate) const const
QString section(QChar sep, qsizetype start, qsizetype end, SectionFlags flags) const const
QString left(qsizetype n) const const
QString & setUtf16(const ushort *unicode, qsizetype size)
QString repeated(qsizetype times) const const
const NestedString & get() const
QString & setUnicode(const QChar *unicode, qsizetype size)
The string is safe and requires no further escaping.