49 #include <libxml/xpath.h>
60 results_(reinterpret_cast<xmlXPathObjectPtr>(
results)),
61 refcnt_(1), owe_(
true)
83 results_->nodesetval->nodeTab[index]);
102 const char*
kDerefError =
"dereferencing non initialised or out of range iterator";
103 const char*
kRefError =
"referencing non initialised or out of range iterator";
104 const char*
kAdvError =
"advancing non initialised or out of range iterator";
134 if (
this != &other) {
150 if (
this != &other) {
169 if (
empty())
return 0;
214 if (!parent_ || current_index_ == -1)
216 return parent_->pimpl_->get_reference(current_index_);
221 if (!parent_ || current_index_ == -1)
223 return &parent_->pimpl_->get_reference(current_index_);
228 if (!parent_ || current_index_ == -1)
230 if (
static_cast<size_t>(++current_index_) >= parent_->size())
280 if (!parent_ || current_index_ == -1)
282 return parent_->pimpl_->get_reference(current_index_);
287 if (!parent_ || current_index_ == -1)
289 return &parent_->pimpl_->get_reference(current_index_);
294 if (!parent_ || current_index_ == -1)
296 if (
static_cast<size_t>(++current_index_) >= parent_->size())
This exception class is thrown by xmlwrapp for all runtime XML-related errors along with the xml::par...
The xml::node_set::const_iterator class is used to iterate over nodes in a node set.
const_iterator & operator++()
Prefix increment.
const_iterator()
Create a new uninitialised xml::node_set::const_iterator object.
reference operator*() const
Provide a const reference to the node.
pointer operator->() const
Provide a const pointer to the node.
void swap(const_iterator &other)
const_iterator & operator=(const const_iterator &other)
Create a copy of the xml::node_set::const_iterator object.
The xml::node_set::iterator class is used to iterate over nodes in a node set.
iterator & operator=(const iterator &other)
Create a copy of the xml::node_set::iterator object.
iterator & operator++()
Prefix increment.
reference operator*() const
Provide a reference to the node.
void swap(iterator &other)
iterator()
Create a new uninitialised xml::node_set::iterator object.
pointer operator->() const
Provide a pointer to the node.
The xml::node_set class is used to store xpath query result set.
iterator begin()
Get an iterator that points to the beginning of the xpath query result node set.
bool empty() const
Inform if the xpath query result node set is empty.
size_t size() const
Get the number of nodes in the xpath query result node set.
virtual ~node_set()
Destroy the object and clean up the memory.
friend class const_iterator
node_set & operator=(const node_set &other)
Creates a copy of the xml::node_set object.
iterator end()
Get an iterator that points one past the last node in the xpath query result node set.
node_set()
Create a new empty xml::node_set object.
The xml::node class is used to hold information about one XML node.
This file contains declarations required for iterators dereferencing support.
void swap(NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair1, NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair2)
This file contains the definition of the xml::exception class.
node_private_data * attach_node_private_data(void *)
XPath execution result set for XmlWrapp.
This file contains the definition of the xml::impl::nset_impl class.
xmlXPathObjectPtr results_
node & get_reference(int index)
void set_ownership(bool owe)