26 #include <QDataStream>
32 Pattern::Syntax syntax = Pattern::RegExp;
40 Pattern::
Pattern(const QString &pattern, QRegularExpression::PatternOptions options, Syntax syntax)
41 : QRegularExpression()
43 setUserPattern(pattern, syntax);
44 setPatternOptions(options);
47 Pattern::Pattern(
const QRegularExpression &re)
48 : QRegularExpression(re)
50 d->userPattern = re.pattern();
53 Pattern::~Pattern() =
default;
55 QString Pattern::userPattern()
const
57 return d->userPattern;
60 void Pattern::setUserPattern(
const QString &pattern, Syntax syntax)
62 d->userPattern = pattern;
65 if (syntax == Wildcard)
66 setPattern(wildcardToRegularExpression(pattern));
71 QDataStream &operator<<(QDataStream &out,
const Pattern &re)
73 quint8 syntax = re.d->syntax;
74 return out << static_cast<const QRegularExpression &>(re) << re.d->userPattern << syntax;
77 QDataStream &operator>>(QDataStream &in,
Pattern &re)
80 in >>
static_cast<QRegularExpression &
>(re) >> re.d->userPattern >> syntax;
81 re.d->syntax = static_cast<Pattern::Syntax>(syntax);