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;
152 return *m_safeString;
159 return *m_safeString;
166 return *m_safeString;
179 return *m_safeString;
183 const Cutelee::SafeString &str)
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;
333 const Cutelee::SafeString &after)
336 m_safeString->m_safety = after.m_safety;
337 return *m_safeString;
341 const QString &after)
345 return *m_safeString;
349 const QChar *unicode,
int size)
353 return *m_safeString;
360 return *m_safeString;
365 const Cutelee::SafeString &after,
369 m_safeString->m_safety = after.m_safety;
370 return *m_safeString;
374 const Cutelee::SafeString &after,
379 return *m_safeString;
388 return *m_safeString;
392 const QString &after,
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;
443 const Cutelee::SafeString &after,
447 m_safeString->m_safety = after.m_safety;
448 return *m_safeString;
452 const QString &after,
457 return *m_safeString;
466 m_safeString->m_safety = before.m_safety;
467 return *m_safeString;
476 return *m_safeString;
485 return *m_safeString;
489 const Cutelee::SafeString &after)
492 m_safeString->m_safety = after.m_safety;
493 return *m_safeString;
497 const QString &after)
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;
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, QChar::UnicodeVersion 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