11#include <boost/iterator.hpp>
12#include <boost/iterator/function_input_iterator.hpp>
13#include <boost/range.hpp>
26 boost::single_pass_traversal_tag,
43 Elem_ = Elem_.nextSiblingElement (TagName_);
53 return Elem_ ==
other.Elem_;
86 auto child = parent.firstChildElement (
tag);
87 return boost::make_iterator_range<detail::DomSiblingsIterator> ({
child,
tag }, {});
DomSiblingsIterator()=default
DomSiblingsIterator(const QDomElement &firstChild, const QString &tagName)
bool equal(const DomSiblingsIterator &other) const
const QDomElement & dereference() const
Container< T > Filter(const Container< T > &c, F f)
auto DomChildren(const QDomNode &parent, const QString &tag)
Creates a range iterating over direct children named tag.