μHAL (v2.7.9)
Part of the IPbus software repository
Public Types | Public Member Functions | Protected Types | Protected Attributes | Friends | List of all members
pugi::xml_node Class Reference

#include <_static/pugixml.hpp>

Inheritance diagram for pugi::xml_node:
[legend]
Collaboration diagram for pugi::xml_node:
[legend]

Public Types

typedef xml_node_iterator iterator
 
typedef xml_attribute_iterator attribute_iterator
 

Public Member Functions

 xml_node ()
 
 xml_node (xml_node_struct *p)
 
 operator unspecified_bool_type () const
 
bool operator! () const
 
bool operator== (const xml_node &r) const
 
bool operator!= (const xml_node &r) const
 
bool operator< (const xml_node &r) const
 
bool operator> (const xml_node &r) const
 
bool operator<= (const xml_node &r) const
 
bool operator>= (const xml_node &r) const
 
bool empty () const
 
xml_node_type type () const
 
const char_tname () const
 
const char_tvalue () const
 
xml_attribute first_attribute () const
 
xml_attribute last_attribute () const
 
xml_node first_child () const
 
xml_node last_child () const
 
xml_node next_sibling () const
 
xml_node previous_sibling () const
 
xml_node parent () const
 
xml_node root () const
 
xml_text text () const
 
xml_node child (const char_t *name) const
 
xml_attribute attribute (const char_t *name) const
 
xml_node next_sibling (const char_t *name) const
 
xml_node previous_sibling (const char_t *name) const
 
xml_attribute attribute (const char_t *name, xml_attribute &hint) const
 
const char_tchild_value () const
 
const char_tchild_value (const char_t *name) const
 
bool set_name (const char_t *rhs)
 
bool set_value (const char_t *rhs)
 
xml_attribute append_attribute (const char_t *name)
 
xml_attribute prepend_attribute (const char_t *name)
 
xml_attribute insert_attribute_after (const char_t *name, const xml_attribute &attr)
 
xml_attribute insert_attribute_before (const char_t *name, const xml_attribute &attr)
 
xml_attribute append_copy (const xml_attribute &proto)
 
xml_attribute prepend_copy (const xml_attribute &proto)
 
xml_attribute insert_copy_after (const xml_attribute &proto, const xml_attribute &attr)
 
xml_attribute insert_copy_before (const xml_attribute &proto, const xml_attribute &attr)
 
xml_node append_child (xml_node_type type=node_element)
 
xml_node prepend_child (xml_node_type type=node_element)
 
xml_node insert_child_after (xml_node_type type, const xml_node &node)
 
xml_node insert_child_before (xml_node_type type, const xml_node &node)
 
xml_node append_child (const char_t *name)
 
xml_node prepend_child (const char_t *name)
 
xml_node insert_child_after (const char_t *name, const xml_node &node)
 
xml_node insert_child_before (const char_t *name, const xml_node &node)
 
xml_node append_copy (const xml_node &proto)
 
xml_node prepend_copy (const xml_node &proto)
 
xml_node insert_copy_after (const xml_node &proto, const xml_node &node)
 
xml_node insert_copy_before (const xml_node &proto, const xml_node &node)
 
xml_node append_move (const xml_node &moved)
 
xml_node prepend_move (const xml_node &moved)
 
xml_node insert_move_after (const xml_node &moved, const xml_node &node)
 
xml_node insert_move_before (const xml_node &moved, const xml_node &node)
 
bool remove_attribute (const xml_attribute &a)
 
bool remove_attribute (const char_t *name)
 
bool remove_child (const xml_node &n)
 
bool remove_child (const char_t *name)
 
xml_parse_result append_buffer (const void *contents, size_t size, unsigned int options=parse_default, xml_encoding encoding=encoding_auto)
 
template<typename Predicate >
xml_attribute find_attribute (Predicate pred) const
 
template<typename Predicate >
xml_node find_child (Predicate pred) const
 
template<typename Predicate >
xml_node find_node (Predicate pred) const
 
xml_node find_child_by_attribute (const char_t *name, const char_t *attr_name, const char_t *attr_value) const
 
xml_node find_child_by_attribute (const char_t *attr_name, const char_t *attr_value) const
 
string_t path (char_t delimiter='/') const
 
xml_node first_element_by_path (const char_t *path, char_t delimiter='/') const
 
bool traverse (xml_tree_walker &walker)
 
xpath_node select_node (const char_t *query, xpath_variable_set *variables=0) const
 
xpath_node select_node (const xpath_query &query) const
 
xpath_node_set select_nodes (const char_t *query, xpath_variable_set *variables=0) const
 
xpath_node_set select_nodes (const xpath_query &query) const
 
PUGIXML_DEPRECATED xpath_node select_single_node (const char_t *query, xpath_variable_set *variables=0) const
 
PUGIXML_DEPRECATED xpath_node select_single_node (const xpath_query &query) const
 
void print (xml_writer &writer, const char_t *indent=PUGIXML_TEXT("\t"), unsigned int flags=format_default, xml_encoding encoding=encoding_auto, unsigned int depth=0) const
 
void print (std::basic_ostream< char, std::char_traits< char > > &os, const char_t *indent=PUGIXML_TEXT("\t"), unsigned int flags=format_default, xml_encoding encoding=encoding_auto, unsigned int depth=0) const
 
void print (std::basic_ostream< wchar_t, std::char_traits< wchar_t > > &os, const char_t *indent=PUGIXML_TEXT("\t"), unsigned int flags=format_default, unsigned int depth=0) const
 
iterator begin () const
 
iterator end () const
 
attribute_iterator attributes_begin () const
 
attribute_iterator attributes_end () const
 
xml_object_range< xml_node_iteratorchildren () const
 
xml_object_range< xml_named_node_iteratorchildren (const char_t *name) const
 
xml_object_range< xml_attribute_iteratorattributes () const
 
ptrdiff_t offset_debug () const
 
size_t hash_value () const
 
xml_node_structinternal_object () const
 

Protected Types

typedef void(* unspecified_bool_type) (xml_node ***)
 

Protected Attributes

xml_node_struct_root
 

Friends

class xml_attribute_iterator
 
class xml_node_iterator
 
class xml_named_node_iterator
 

Detailed Description

Definition at line 454 of file pugixml.hpp.

Member Typedef Documentation

◆ attribute_iterator

Definition at line 682 of file pugixml.hpp.

◆ iterator

Definition at line 676 of file pugixml.hpp.

◆ unspecified_bool_type

typedef void(* pugi::xml_node::unspecified_bool_type) (xml_node ***)
protected

Definition at line 463 of file pugixml.hpp.

Constructor & Destructor Documentation

◆ xml_node() [1/2]

PUGI__FN pugi::xml_node::xml_node ( )

◆ xml_node() [2/2]

PUGI__FN pugi::xml_node::xml_node ( xml_node_struct p)
explicit

Definition at line 5394 of file pugixml.cpp.

Member Function Documentation

◆ append_attribute()

PUGI__FN xml_attribute pugi::xml_node::append_attribute ( const char_t name)

◆ append_buffer()

PUGI__FN xml_parse_result pugi::xml_node::append_buffer ( const void *  contents,
size_t  size,
unsigned int  options = parse_default,
xml_encoding  encoding = encoding_auto 
)

◆ append_child() [1/2]

PUGI__FN xml_node pugi::xml_node::append_child ( const char_t name)

Definition at line 5869 of file pugixml.cpp.

References append_child(), pugi::node_element, and set_name().

◆ append_child() [2/2]

PUGI__FN xml_node pugi::xml_node::append_child ( xml_node_type  type = node_element)

◆ append_copy() [1/2]

PUGI__FN xml_attribute pugi::xml_node::append_copy ( const xml_attribute proto)

◆ append_copy() [2/2]

PUGI__FN xml_node pugi::xml_node::append_copy ( const xml_node proto)

◆ append_move()

PUGI__FN xml_node pugi::xml_node::append_move ( const xml_node moved)

◆ attribute() [1/2]

PUGI__FN xml_attribute pugi::xml_node::attribute ( const char_t name) const

◆ attribute() [2/2]

PUGI__FN xml_attribute pugi::xml_node::attribute ( const char_t name,
xml_attribute hint 
) const

◆ attributes()

PUGI__FN xml_object_range< xml_attribute_iterator > pugi::xml_node::attributes ( ) const

Definition at line 5442 of file pugixml.cpp.

References attributes_begin(), and attributes_end().

◆ attributes_begin()

PUGI__FN xml_node::attribute_iterator pugi::xml_node::attributes_begin ( ) const

Definition at line 5422 of file pugixml.cpp.

References _root, and pugi::xml_node_struct::first_attribute.

Referenced by attributes().

◆ attributes_end()

PUGI__FN xml_node::attribute_iterator pugi::xml_node::attributes_end ( ) const

Definition at line 5427 of file pugixml.cpp.

References _root.

Referenced by attributes().

◆ begin()

PUGI__FN xml_node::iterator pugi::xml_node::begin ( ) const

Definition at line 5412 of file pugixml.cpp.

References _root, and pugi::xml_node_struct::first_child.

Referenced by children().

◆ child()

PUGI__FN xml_node pugi::xml_node::child ( const char_t name) const

◆ child_value() [1/2]

PUGI__FN const char_t * pugi::xml_node::child_value ( ) const

◆ child_value() [2/2]

PUGI__FN const char_t * pugi::xml_node::child_value ( const char_t name) const

Definition at line 5614 of file pugixml.cpp.

References child(), and child_value().

◆ children() [1/2]

PUGI__FN xml_object_range< xml_node_iterator > pugi::xml_node::children ( ) const

Definition at line 5432 of file pugixml.cpp.

References begin(), and end().

◆ children() [2/2]

PUGI__FN xml_object_range< xml_named_node_iterator > pugi::xml_node::children ( const char_t name) const

Definition at line 5437 of file pugixml.cpp.

References _root, child(), and xml_named_node_iterator.

◆ empty()

PUGI__FN bool pugi::xml_node::empty ( ) const

Definition at line 5477 of file pugixml.cpp.

References _root.

◆ end()

PUGI__FN xml_node::iterator pugi::xml_node::end ( ) const

Definition at line 5417 of file pugixml.cpp.

References _root.

Referenced by children().

◆ find_attribute()

template<typename Predicate >
xml_attribute pugi::xml_node::find_attribute ( Predicate  pred) const
inline

Definition at line 589 of file pugixml.hpp.

References pugi::xml_attribute::next_attribute().

◆ find_child()

template<typename Predicate >
xml_node pugi::xml_node::find_child ( Predicate  pred) const
inline

Definition at line 601 of file pugixml.hpp.

References next_sibling().

◆ find_child_by_attribute() [1/2]

PUGI__FN xml_node pugi::xml_node::find_child_by_attribute ( const char_t attr_name,
const char_t attr_value 
) const

◆ find_child_by_attribute() [2/2]

PUGI__FN xml_node pugi::xml_node::find_child_by_attribute ( const char_t name,
const char_t attr_name,
const char_t attr_value 
) const

◆ find_node()

template<typename Predicate >
xml_node pugi::xml_node::find_node ( Predicate  pred) const
inline

Definition at line 613 of file pugixml.hpp.

References _root, first_child(), next_sibling(), and parent().

◆ first_attribute()

PUGI__FN xml_attribute pugi::xml_node::first_attribute ( ) const

Definition at line 5619 of file pugixml.cpp.

References _root, and pugi::xml_node_struct::first_attribute.

Referenced by uhal::Parser< R >::operator()().

◆ first_child()

PUGI__FN xml_node pugi::xml_node::first_child ( ) const

◆ first_element_by_path()

PUGI__FN xml_node pugi::xml_node::first_element_by_path ( const char_t path,
char_t  delimiter = '/' 
) const

◆ hash_value()

PUGI__FN size_t pugi::xml_node::hash_value ( ) const

Definition at line 6272 of file pugixml.cpp.

References _root.

◆ insert_attribute_after()

PUGI__FN xml_attribute pugi::xml_node::insert_attribute_after ( const char_t name,
const xml_attribute attr 
)

◆ insert_attribute_before()

PUGI__FN xml_attribute pugi::xml_node::insert_attribute_before ( const char_t name,
const xml_attribute attr 
)

◆ insert_child_after() [1/2]

PUGI__FN xml_node pugi::xml_node::insert_child_after ( const char_t name,
const xml_node node 
)

Definition at line 5887 of file pugixml.cpp.

References insert_child_after(), pugi::node_element, and set_name().

◆ insert_child_after() [2/2]

PUGI__FN xml_node pugi::xml_node::insert_child_after ( xml_node_type  type,
const xml_node node 
)

◆ insert_child_before() [1/2]

PUGI__FN xml_node pugi::xml_node::insert_child_before ( const char_t name,
const xml_node node 
)

Definition at line 5896 of file pugixml.cpp.

References insert_child_before(), pugi::node_element, and set_name().

◆ insert_child_before() [2/2]

PUGI__FN xml_node pugi::xml_node::insert_child_before ( xml_node_type  type,
const xml_node node 
)

◆ insert_copy_after() [1/2]

PUGI__FN xml_attribute pugi::xml_node::insert_copy_after ( const xml_attribute proto,
const xml_attribute attr 
)

◆ insert_copy_after() [2/2]

PUGI__FN xml_node pugi::xml_node::insert_copy_after ( const xml_node proto,
const xml_node node 
)

◆ insert_copy_before() [1/2]

PUGI__FN xml_attribute pugi::xml_node::insert_copy_before ( const xml_attribute proto,
const xml_attribute attr 
)

◆ insert_copy_before() [2/2]

PUGI__FN xml_node pugi::xml_node::insert_copy_before ( const xml_node proto,
const xml_node node 
)

◆ insert_move_after()

PUGI__FN xml_node pugi::xml_node::insert_move_after ( const xml_node moved,
const xml_node node 
)

◆ insert_move_before()

PUGI__FN xml_node pugi::xml_node::insert_move_before ( const xml_node moved,
const xml_node node 
)

◆ internal_object()

PUGI__FN xml_node_struct * pugi::xml_node::internal_object ( ) const

Definition at line 6277 of file pugixml.cpp.

References _root.

◆ last_attribute()

PUGI__FN xml_attribute pugi::xml_node::last_attribute ( ) const

◆ last_child()

PUGI__FN xml_node pugi::xml_node::last_child ( ) const

◆ name()

PUGI__FN const char_t * pugi::xml_node::name ( ) const

Definition at line 5482 of file pugixml.cpp.

References _root, pugi::xml_node_struct::name, and PUGIXML_TEXT.

Referenced by pugi::xml_named_node_iterator::operator--().

◆ next_sibling() [1/2]

PUGI__FN xml_node pugi::xml_node::next_sibling ( ) const

◆ next_sibling() [2/2]

PUGI__FN xml_node pugi::xml_node::next_sibling ( const char_t name) const

Definition at line 5518 of file pugixml.cpp.

References _root, pugi::xml_node_struct::next_sibling, strequal(), and xml_node().

◆ offset_debug()

PUGI__FN ptrdiff_t pugi::xml_node::offset_debug ( ) const

◆ operator unspecified_bool_type()

PUGI__FN pugi::xml_node::operator xml_node::unspecified_bool_type ( ) const

Definition at line 5402 of file pugixml.cpp.

References _root, and pugi::unspecified_bool_xml_node().

◆ operator!()

PUGI__FN bool pugi::xml_node::operator! ( ) const

Definition at line 5407 of file pugixml.cpp.

References _root.

◆ operator!=()

PUGI__FN bool pugi::xml_node::operator!= ( const xml_node r) const

Definition at line 5452 of file pugixml.cpp.

References _root.

◆ operator<()

PUGI__FN bool pugi::xml_node::operator< ( const xml_node r) const

Definition at line 5457 of file pugixml.cpp.

References _root.

◆ operator<=()

PUGI__FN bool pugi::xml_node::operator<= ( const xml_node r) const

Definition at line 5467 of file pugixml.cpp.

References _root.

◆ operator==()

PUGI__FN bool pugi::xml_node::operator== ( const xml_node r) const

Definition at line 5447 of file pugixml.cpp.

References _root.

◆ operator>()

PUGI__FN bool pugi::xml_node::operator> ( const xml_node r) const

Definition at line 5462 of file pugixml.cpp.

References _root.

◆ operator>=()

PUGI__FN bool pugi::xml_node::operator>= ( const xml_node r) const

Definition at line 5472 of file pugixml.cpp.

References _root.

◆ parent()

PUGI__FN xml_node pugi::xml_node::parent ( ) const

◆ path()

PUGI__FN string_t pugi::xml_node::path ( char_t  delimiter = '/') const

Definition at line 6143 of file pugixml.cpp.

References _root, uhal::tests::j, pugi::xml_node_struct::parent, and strlength().

◆ prepend_attribute()

PUGI__FN xml_attribute pugi::xml_node::prepend_attribute ( const char_t name)

◆ prepend_child() [1/2]

PUGI__FN xml_node pugi::xml_node::prepend_child ( const char_t name)

Definition at line 5878 of file pugixml.cpp.

References pugi::node_element, prepend_child(), and set_name().

◆ prepend_child() [2/2]

PUGI__FN xml_node pugi::xml_node::prepend_child ( xml_node_type  type = node_element)

◆ prepend_copy() [1/2]

PUGI__FN xml_attribute pugi::xml_node::prepend_copy ( const xml_attribute proto)

◆ prepend_copy() [2/2]

PUGI__FN xml_node pugi::xml_node::prepend_copy ( const xml_node proto)

◆ prepend_move()

PUGI__FN xml_node pugi::xml_node::prepend_move ( const xml_node moved)

◆ previous_sibling() [1/2]

PUGI__FN xml_node pugi::xml_node::previous_sibling ( ) const

◆ previous_sibling() [2/2]

PUGI__FN xml_node pugi::xml_node::previous_sibling ( const char_t name) const

◆ print() [1/3]

PUGI__FN void pugi::xml_node::print ( std::basic_ostream< char, std::char_traits< char > > &  os,
const char_t indent = PUGIXML_TEXT("\t"),
unsigned int  flags = format_default,
xml_encoding  encoding = encoding_auto,
unsigned int  depth = 0 
) const

Definition at line 6294 of file pugixml.cpp.

References print().

◆ print() [2/3]

PUGI__FN void pugi::xml_node::print ( std::basic_ostream< wchar_t, std::char_traits< wchar_t > > &  os,
const char_t indent = PUGIXML_TEXT("\t"),
unsigned int  flags = format_default,
unsigned int  depth = 0 
) const

Definition at line 6301 of file pugixml.cpp.

References pugi::encoding_wchar, and print().

◆ print() [3/3]

PUGI__FN void pugi::xml_node::print ( xml_writer writer,
const char_t indent = PUGIXML_TEXT("\t"),
unsigned int  flags = format_default,
xml_encoding  encoding = encoding_auto,
unsigned int  depth = 0 
) const

Definition at line 6282 of file pugixml.cpp.

References _root, and node_output().

Referenced by print().

◆ remove_attribute() [1/2]

PUGI__FN bool pugi::xml_node::remove_attribute ( const char_t name)

Definition at line 6043 of file pugixml.cpp.

References attribute(), and remove_attribute().

◆ remove_attribute() [2/2]

PUGI__FN bool pugi::xml_node::remove_attribute ( const xml_attribute a)

◆ remove_child() [1/2]

PUGI__FN bool pugi::xml_node::remove_child ( const char_t name)

Definition at line 6062 of file pugixml.cpp.

References child(), and remove_child().

◆ remove_child() [2/2]

PUGI__FN bool pugi::xml_node::remove_child ( const xml_node n)

Definition at line 6067 of file pugixml.cpp.

References _root, destroy_node(), get_allocator(), pugi::xml_node_struct::parent, and remove_node().

Referenced by remove_child().

◆ root()

PUGI__FN xml_node pugi::xml_node::root ( ) const

Definition at line 5589 of file pugixml.cpp.

References _root, get_document(), and xml_node().

Referenced by first_element_by_path().

◆ select_node() [1/2]

PUGI__FN xpath_node pugi::xml_node::select_node ( const char_t query,
xpath_variable_set variables = 0 
) const

Definition at line 12759 of file pugixml.cpp.

References pugi::xpath_query::evaluate_node().

◆ select_node() [2/2]

PUGI__FN xpath_node pugi::xml_node::select_node ( const xpath_query query) const

Definition at line 12765 of file pugixml.cpp.

References pugi::xpath_query::evaluate_node().

◆ select_nodes() [1/2]

PUGI__FN xpath_node_set pugi::xml_node::select_nodes ( const char_t query,
xpath_variable_set variables = 0 
) const

Definition at line 12770 of file pugixml.cpp.

References pugi::xpath_query::evaluate_node_set().

Referenced by uhal::ConnectionManager::CallBack().

◆ select_nodes() [2/2]

PUGI__FN xpath_node_set pugi::xml_node::select_nodes ( const xpath_query query) const

Definition at line 12776 of file pugixml.cpp.

References pugi::xpath_query::evaluate_node_set().

◆ select_single_node() [1/2]

PUGI__FN xpath_node pugi::xml_node::select_single_node ( const char_t query,
xpath_variable_set variables = 0 
) const

Definition at line 12781 of file pugixml.cpp.

References pugi::xpath_query::evaluate_node().

◆ select_single_node() [2/2]

PUGI__FN xpath_node pugi::xml_node::select_single_node ( const xpath_query query) const

Definition at line 12787 of file pugixml.cpp.

References pugi::xpath_query::evaluate_node().

◆ set_name()

PUGI__FN bool pugi::xml_node::set_name ( const char_t rhs)

◆ set_value()

PUGI__FN bool pugi::xml_node::set_value ( const char_t rhs)

◆ text()

PUGI__FN xml_text pugi::xml_node::text ( ) const

Definition at line 5594 of file pugixml.cpp.

References _root.

◆ traverse()

PUGI__FN bool pugi::xml_node::traverse ( xml_tree_walker walker)

◆ type()

PUGI__FN xml_node_type pugi::xml_node::type ( ) const

◆ value()

PUGI__FN const char_t * pugi::xml_node::value ( ) const

Definition at line 5492 of file pugixml.cpp.

References _root, PUGIXML_TEXT, and pugi::xml_node_struct::value.

Friends And Related Function Documentation

◆ xml_attribute_iterator

friend class xml_attribute_iterator
friend

Definition at line 456 of file pugixml.hpp.

◆ xml_named_node_iterator

friend class xml_named_node_iterator
friend

Definition at line 458 of file pugixml.hpp.

Referenced by children().

◆ xml_node_iterator

friend class xml_node_iterator
friend

Definition at line 457 of file pugixml.hpp.

Member Data Documentation

◆ _root

xml_node_struct* pugi::xml_node::_root
protected

Definition at line 461 of file pugixml.hpp.

Referenced by pugi::xml_document::_create(), pugi::xml_document::_destroy(), append_attribute(), append_buffer(), append_child(), append_copy(), append_move(), attribute(), attributes_begin(), attributes_end(), begin(), child(), child_value(), children(), pugi::xml_document::document_element(), empty(), end(), find_child_by_attribute(), find_node(), first_attribute(), first_child(), first_element_by_path(), hash_value(), insert_attribute_after(), insert_attribute_before(), insert_child_after(), insert_child_before(), insert_copy_after(), insert_copy_before(), insert_move_after(), insert_move_before(), internal_object(), last_attribute(), last_child(), pugi::xml_document::load(), pugi::xml_document::load_buffer(), pugi::xml_document::load_buffer_inplace(), pugi::xml_document::load_buffer_inplace_own(), pugi::xml_document::load_file(), name(), next_sibling(), offset_debug(), operator unspecified_bool_type(), operator!(), operator!=(), pugi::xml_node_iterator::operator!=(), pugi::xml_attribute_iterator::operator!=(), pugi::xml_named_node_iterator::operator!=(), pugi::xml_node_iterator::operator*(), pugi::xml_named_node_iterator::operator*(), pugi::xml_node_iterator::operator++(), pugi::xml_named_node_iterator::operator++(), pugi::xml_node_iterator::operator--(), pugi::xml_named_node_iterator::operator--(), pugi::xml_node_iterator::operator->(), pugi::xml_named_node_iterator::operator->(), operator<(), operator<=(), operator==(), pugi::xml_node_iterator::operator==(), pugi::xml_attribute_iterator::operator==(), pugi::xml_named_node_iterator::operator==(), operator>(), operator>=(), parent(), path(), prepend_attribute(), prepend_child(), prepend_copy(), prepend_move(), previous_sibling(), print(), remove_attribute(), remove_child(), root(), pugi::xml_document::save(), set_name(), set_value(), text(), traverse(), type(), and value().


The documentation for this class was generated from the following files: