21 #ifndef GRANTLEE_SAFESTRING_H 22 #define GRANTLEE_SAFESTRING_H 24 #include "grantlee_templates_export.h" 26 #include <QtCore/QString> 27 #include <QtCore/QVariant> 140 void setNeedsEscape(
bool needsEscape);
146 bool needsEscape()
const;
157 void setSafety(
Safety safety);
179 SafeString &append(
const QStringRef &reference);
181 #ifndef QT_NO_CAST_FROM_ASCII 185 m_safeString->m_safety = IsNotSafe;
186 return *m_safeString;
191 QString::append(str);
192 m_safeString->m_safety = IsNotSafe;
193 return *m_safeString;
201 SafeString &insert(
int position,
const QString &str);
202 SafeString &insert(
int position,
const QLatin1String &str);
203 SafeString &insert(
int position,
const QChar *unicode,
int size);
207 SafeString leftJustified(
int width, QChar fill = QLatin1Char(
' '),
208 bool truncate =
false)
const;
209 SafeString mid(
int position,
int n = -1)
const;
211 SafeString normalized(NormalizationForm mode)
const;
213 QChar::UnicodeVersion version)
const;
217 SafeString &prepend(
const QLatin1String &str);
218 #ifndef QT_NO_CAST_FROM_ASCII 221 QString::prepend(ba);
222 m_safeString->m_safety = IsNotSafe;
223 return *m_safeString;
228 QString::prepend(str);
229 m_safeString->m_safety = IsNotSafe;
230 return *m_safeString;
239 SafeString &
remove(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive);
241 Qt::CaseSensitivity cs = Qt::CaseSensitive);
243 Qt::CaseSensitivity cs = Qt::CaseSensitive);
244 SafeString &
remove(
const QRegularExpression &rx);
247 SafeString &replace(
int position,
int n,
const QString &after);
248 SafeString &replace(
int position,
int n,
const QChar *unicode,
int size);
249 SafeString &replace(
int position,
int n, QChar after);
251 Qt::CaseSensitivity cs = Qt::CaseSensitive);
253 Qt::CaseSensitivity cs = Qt::CaseSensitive);
255 Qt::CaseSensitivity cs = Qt::CaseSensitive);
256 SafeString &replace(
const QString &before,
const QString &after,
257 Qt::CaseSensitivity cs = Qt::CaseSensitive);
258 SafeString &replace(
const QChar *before,
int blen,
const QChar *after,
259 int alen, Qt::CaseSensitivity cs = Qt::CaseSensitive);
261 Qt::CaseSensitivity cs = Qt::CaseSensitive);
262 SafeString &replace(QChar ch,
const QString &after,
263 Qt::CaseSensitivity cs = Qt::CaseSensitive);
264 SafeString &replace(QChar before, QChar after,
265 Qt::CaseSensitivity cs = Qt::CaseSensitive);
266 SafeString &replace(
const QLatin1String &before,
const QLatin1String &after,
267 Qt::CaseSensitivity cs = Qt::CaseSensitive);
269 Qt::CaseSensitivity cs = Qt::CaseSensitive);
270 SafeString &replace(
const QLatin1String &before,
const QString &after,
271 Qt::CaseSensitivity cs = Qt::CaseSensitive);
273 Qt::CaseSensitivity cs = Qt::CaseSensitive);
274 SafeString &replace(
const QString &before,
const QLatin1String &after,
275 Qt::CaseSensitivity cs = Qt::CaseSensitive);
276 SafeString &replace(QChar c,
const QLatin1String &after,
277 Qt::CaseSensitivity cs = Qt::CaseSensitive);
279 SafeString &replace(
const QRegularExpression &rx,
const QString &after);
282 SafeString rightJustified(
int width, QChar fill = QLatin1Char(
' '),
283 bool truncate =
false)
const;
285 SafeString section(QChar sep,
int start,
int end = -1,
286 SectionFlags flags = SectionDefault)
const;
288 SectionFlags flags = SectionDefault)
const;
289 SafeString section(
const QString &sep,
int start,
int end = -1,
290 SectionFlags flags = SectionDefault)
const;
291 SafeString section(
const QRegularExpression ®,
int start,
int end = -1,
292 SectionFlags flags = SectionDefault)
const;
297 SafeString &setNum(qlonglong n,
int base = 10);
298 SafeString &setNum(qulonglong n,
int base = 10);
301 SafeString &setNum(
double n,
char format =
'g',
int precision = 6);
302 SafeString &setNum(
float n,
char format =
'g',
int precision = 6);
303 SafeString &setUnicode(
const QChar *unicode,
int size);
304 SafeString &setUtf16(
const ushort *unicode,
int size);
308 SplitBehavior behavior = KeepEmptyParts,
309 Qt::CaseSensitivity cs = Qt::CaseSensitive)
const;
310 QStringList split(
const QString &sep,
311 SplitBehavior behavior = KeepEmptyParts,
312 Qt::CaseSensitivity cs = Qt::CaseSensitive)
const;
313 QStringList split(
const QChar &sep, SplitBehavior behavior = KeepEmptyParts,
314 Qt::CaseSensitivity cs = Qt::CaseSensitive)
const;
315 QStringList split(
const QRegularExpression &rx,
316 SplitBehavior behavior = KeepEmptyParts)
const;
339 operator QString()
const {
return m_nestedString; }
379 bool operator==(
const SafeString &other)
const;
386 bool operator==(
const QString &other)
const;
391 operator QVariant()
const {
return QVariant::fromValue(*
this); }
The string is safe and requires no further escaping.
The NestedString is a QString whose methods always return a SafeString.
A QString wrapper class for containing whether a string is safe or needs to be escaped.
The Grantlee namespace holds all public Grantlee API.