18 template <
typename Ch>
22 using TListNodes = std::vector<const rapidxml::xml_node<Ch>*>;
33 for (
const auto& node : nodes_)
36 if (ret !=
nullptr)
return ret;
48 template <
typename Ch_>
55 throw std::runtime_error(
"++ called on end() iterator!?");
72 throw std::runtime_error(
"-> called on end() iterator!?");
79 throw std::runtime_error(
"* called on end() iterator!?");
This file contains rapidxml parser and DOM implementation.
iterator(JointXMLnode< Ch > &pa)
const rapidxml::xml_node< Ch > * first_node(const char *name) const
bool operator!=(const iterator &it) const
xml_node< Ch > * first_node(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const
rapidxml::xml_node< Ch > * operator->() const
const TListNodes & getListOfNodes() const
std::vector< const rapidxml::xml_node< Ch > * > TListNodes
TListNodes & getListOfNodes()
rapidxml::xml_node< Ch > * current
iterator(JointXMLnode< Ch > &pa, size_t idx)
JointXMLnode< Ch > & parent
rapidxml::xml_node< Ch > * operator*() const
void add(const rapidxml::xml_node< Ch > *node)
bool operator==(const iterator &it) const