NDDEM
Public Member Functions | Private Attributes | Friends | List of all members
cereal::rapidxml::xml_attribute< Ch > Class Template Reference

#include <rapidxml.hpp>

+ Inheritance diagram for cereal::rapidxml::xml_attribute< Ch >:

Public Member Functions

 xml_attribute ()
 
xml_document< Ch > * document () const
 
xml_attribute< Ch > * previous_attribute (const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const
 
xml_attribute< Ch > * next_attribute (const Ch *name_=0, std::size_t name_size_=0, bool case_sensitive=true) const
 
- Public Member Functions inherited from cereal::rapidxml::xml_base< char >
 xml_base ()
 
char * name () const
 
void name (const char *name_, std::size_t size)
 
void name (const char *name_)
 
std::size_t name_size () const
 
char * value () const
 
void value (const char *value_, std::size_t size)
 
void value (const char *value_)
 
std::size_t value_size () const
 
xml_node< char > * parent () const
 

Private Attributes

xml_attribute< Ch > * m_prev_attribute
 
xml_attribute< Ch > * m_next_attribute
 

Friends

class xml_node< Ch >
 

Additional Inherited Members

- Static Protected Member Functions inherited from cereal::rapidxml::xml_base< char >
static char * nullstr ()
 
- Protected Attributes inherited from cereal::rapidxml::xml_base< char >
char * m_name
 
char * m_value
 
std::size_t m_name_size
 
std::size_t m_value_size
 
xml_node< char > * m_parent
 

Detailed Description

template<class Ch = char>
class cereal::rapidxml::xml_attribute< Ch >

Class representing attribute node of XML document. Each attribute has name and value strings, which are available through name() and value() functions (inherited from xml_base). Note that after parse, both name and value of attribute will point to interior of source text used for parsing. Thus, this text must persist in memory for the lifetime of attribute.

Template Parameters
ChCharacter type to use.

Constructor & Destructor Documentation

◆ xml_attribute()

template<class Ch = char>
cereal::rapidxml::xml_attribute< Ch >::xml_attribute ( )
inline

Constructs an empty attribute with the specified type. Consider using memory_pool of appropriate xml_document if allocating attributes manually.

Member Function Documentation

◆ document()

template<class Ch = char>
xml_document<Ch>* cereal::rapidxml::xml_attribute< Ch >::document ( ) const
inline

Gets document of which attribute is a child.

Returns
Pointer to document that contains this attribute, or 0 if there is no parent document.

◆ next_attribute()

template<class Ch = char>
xml_attribute<Ch>* cereal::rapidxml::xml_attribute< Ch >::next_attribute ( const Ch *  name_ = 0,
std::size_t  name_size_ = 0,
bool  case_sensitive = true 
) const
inline

Gets next attribute, optionally matching attribute name.

Parameters
name_Name of attribute to find, or 0 to return next attribute regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero
name_size_Size of name, in characters, or 0 to have size calculated automatically from string
case_sensitiveShould name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters
Returns
Pointer to found attribute, or 0 if not found.

◆ previous_attribute()

template<class Ch = char>
xml_attribute<Ch>* cereal::rapidxml::xml_attribute< Ch >::previous_attribute ( const Ch *  name = 0,
std::size_t  name_size = 0,
bool  case_sensitive = true 
) const
inline

Gets previous attribute, optionally matching attribute name.

Parameters
nameName of attribute to find, or 0 to return previous attribute regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero
name_sizeSize of name, in characters, or 0 to have size calculated automatically from string
case_sensitiveShould name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters
Returns
Pointer to found attribute, or 0 if not found.

Friends And Related Function Documentation

◆ xml_node< Ch >

template<class Ch = char>
friend class xml_node< Ch >
friend

Member Data Documentation

◆ m_next_attribute

template<class Ch = char>
xml_attribute<Ch>* cereal::rapidxml::xml_attribute< Ch >::m_next_attribute
private

◆ m_prev_attribute

template<class Ch = char>
xml_attribute<Ch>* cereal::rapidxml::xml_attribute< Ch >::m_prev_attribute
private

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