21 using TagAttrs = QVector<std::pair<QByteArray, QString>>;
27 using Node = std::variant<Tag, QString, NoNode>;
35 concept XmlRepr = std::is_same_v<T, QString> || std::is_same_v<T, QByteArray>;
40 using Dtd = std::variant<NoDtd, Html5Dtd, CustomDtd>;
59 template<XmlRepr T = QString>
std::variant< NoDtd, Html5Dtd, CustomDtd > Dtd
constexpr auto operator+(RawStr< N1, Char > s1, CtString< N2, Char > s2) noexcept
QVector< std::pair< QByteArray, QString > > TagAttrs
std::variant< Tag, QString, NoNode > Node
UTIL_SLL_API Tag & WithAttr(QByteArray, QString) &&
static UTIL_SLL_API Tag WithText(const QByteArray &name, const QString &contents)
UTIL_SLL_API T Serialize(const TagSerializeConfig &={}) const
static UTIL_SLL_API Node WithTextNonEmpty(const QByteArray &name, const QString &contents)
std::optional< int > Indent_