11 #include <QDomElement> 45 inline auto DomChildren (
const QDomNode& parent,
const QString& tag)
49 using difference_type = ptrdiff_t;
50 using value_type = QDomElement;
51 using reference = QDomElement&;
52 using iterator_category = std::forward_iterator_tag;
59 return Elem_ == other.Elem_;
62 Iterator& operator++ ()
64 Elem_ = Elem_.nextSiblingElement (Tag_);
76 const Iterator Begin_;
78 auto begin ()
const {
return Begin_; }
79 auto end ()
const {
return Iterator {}; }
82 auto firstChild = parent.firstChildElement (tag);
83 return Range { { firstChild, tag } };
auto DomChildren(const QDomNode &parent, const QString &tag)
Creates a range iterating over direct children named tag.
auto operator*(const AF &af, const AV &av) -> decltype(GSL(af, av))
bool operator==(const ModelIterator &left, const ModelIterator &right)
QVector< QDomElement > DomDescendants(const QDomElement &parent, const QString &tag)
Creates a vector with all descendants of parent named tag.