neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::basic_xml< CharT, Alloc > Class Template Reference

#include <xml.hpp>

Classes

struct  error_no_root
 
struct  failed_to_open_file
 

Public Types

typedef Alloc allocator_type
 
typedef xml_node< CharT, allocator_typenode
 
typedef node::string string
 
typedef node::node_ptr node_ptr
 
typedef xml_element< CharT, allocator_typeelement
 
typedef element::attribute attribute
 
typedef element::attribute_list attribute_list
 
typedef xml_text< CharT, allocator_typetext
 
typedef xml_comment< CharT, allocator_typecomment
 
typedef xml_declaration< CharT, allocator_typedeclaration
 
typedef xml_cdata< CharT, allocator_typecdata
 
typedef xml_dtd< CharT, allocator_typedtd
 
typedef std::pair< string, stringentity
 
typedef std::list< entity, typename std::allocator_traits< allocator_type >::template rebind_alloc< entity > > entity_list
 

Public Member Functions

 basic_xml (bool aStripWhitespace=false)
 
 basic_xml (const std::string &aPath, bool aStripWhitespace=false)
 
void clear ()
 
const nodedocument () const
 
nodedocument ()
 
const elementroot () const
 
elementroot ()
 
bool got_root () const
 
node::iterator insert (node &aParent, typename node::iterator aPosition, const CharT *aName)
 
elementappend (node &aParent, const CharT *aName)
 
void erase (node &aParent, typename node::iterator aPosition)
 
node::const_iterator find (const node &aParent, const CharT *aName) const
 
node::iterator find (node &aParent, const CharT *aName)
 
node::iterator find_or_append (node &aParent, const CharT *aName)
 
bool read (std::basic_istream< CharT > &aStream)
 
bool write (std::basic_ostream< CharT > &aStream)
 
bool error () const
 
void set_indent (CharT aIndentChar, std::size_t aIndentCount=1)
 
void set_strip_whitespace (bool aStripWhitespace)
 

Detailed Description

template<typename CharT, typename Alloc = std::allocator<CharT>>
class neolib::basic_xml< CharT, Alloc >

Definition at line 419 of file xml.hpp.

Member Typedef Documentation

◆ allocator_type

template<typename CharT , typename Alloc = std::allocator<CharT>>
typedef Alloc neolib::basic_xml< CharT, Alloc >::allocator_type

Definition at line 423 of file xml.hpp.

◆ attribute

template<typename CharT , typename Alloc = std::allocator<CharT>>
typedef element::attribute neolib::basic_xml< CharT, Alloc >::attribute

Definition at line 428 of file xml.hpp.

◆ attribute_list

template<typename CharT , typename Alloc = std::allocator<CharT>>
typedef element::attribute_list neolib::basic_xml< CharT, Alloc >::attribute_list

Definition at line 429 of file xml.hpp.

◆ cdata

template<typename CharT , typename Alloc = std::allocator<CharT>>
typedef xml_cdata<CharT, allocator_type> neolib::basic_xml< CharT, Alloc >::cdata

Definition at line 433 of file xml.hpp.

◆ comment

template<typename CharT , typename Alloc = std::allocator<CharT>>
typedef xml_comment<CharT, allocator_type> neolib::basic_xml< CharT, Alloc >::comment

Definition at line 431 of file xml.hpp.

◆ declaration

template<typename CharT , typename Alloc = std::allocator<CharT>>
typedef xml_declaration<CharT, allocator_type> neolib::basic_xml< CharT, Alloc >::declaration

Definition at line 432 of file xml.hpp.

◆ dtd

template<typename CharT , typename Alloc = std::allocator<CharT>>
typedef xml_dtd<CharT, allocator_type> neolib::basic_xml< CharT, Alloc >::dtd

Definition at line 434 of file xml.hpp.

◆ element

template<typename CharT , typename Alloc = std::allocator<CharT>>
typedef xml_element<CharT, allocator_type> neolib::basic_xml< CharT, Alloc >::element

Definition at line 427 of file xml.hpp.

◆ entity

template<typename CharT , typename Alloc = std::allocator<CharT>>
typedef std::pair<string, string> neolib::basic_xml< CharT, Alloc >::entity

Definition at line 435 of file xml.hpp.

◆ entity_list

template<typename CharT , typename Alloc = std::allocator<CharT>>
typedef std::list<entity, typename std::allocator_traits<allocator_type>::template rebind_alloc<entity> > neolib::basic_xml< CharT, Alloc >::entity_list

Definition at line 436 of file xml.hpp.

◆ node

template<typename CharT , typename Alloc = std::allocator<CharT>>
typedef xml_node<CharT, allocator_type> neolib::basic_xml< CharT, Alloc >::node

Definition at line 424 of file xml.hpp.

◆ node_ptr

template<typename CharT , typename Alloc = std::allocator<CharT>>
typedef node::node_ptr neolib::basic_xml< CharT, Alloc >::node_ptr

Definition at line 426 of file xml.hpp.

◆ string

template<typename CharT , typename Alloc = std::allocator<CharT>>
typedef node::string neolib::basic_xml< CharT, Alloc >::string

Definition at line 425 of file xml.hpp.

◆ text

template<typename CharT , typename Alloc = std::allocator<CharT>>
typedef xml_text<CharT, allocator_type> neolib::basic_xml< CharT, Alloc >::text

Definition at line 430 of file xml.hpp.

Constructor & Destructor Documentation

◆ basic_xml() [1/2]

template<typename CharT , typename Alloc >
neolib::basic_xml< CharT, Alloc >::basic_xml ( bool  aStripWhitespace = false)

Definition at line 444 of file xml.inl.

◆ basic_xml() [2/2]

template<typename CharT , typename Alloc >
neolib::basic_xml< CharT, Alloc >::basic_xml ( const std::string &  aPath,
bool  aStripWhitespace = false 
)

Definition at line 452 of file xml.inl.

Member Function Documentation

◆ append()

template<typename CharT , typename Alloc >
basic_xml< CharT, Alloc >::element & neolib::basic_xml< CharT, Alloc >::append ( node aParent,
const CharT aName 
)

Definition at line 915 of file xml.inl.

◆ clear()

Definition at line 464 of file xml.inl.

◆ document() [1/2]

Definition at line 478 of file xml.inl.

◆ document() [2/2]

Definition at line 472 of file xml.inl.

◆ erase()

template<typename CharT , typename Alloc >
void neolib::basic_xml< CharT, Alloc >::erase ( node aParent,
typename node::iterator  aPosition 
)

Definition at line 921 of file xml.inl.

◆ error()

template<typename CharT , typename Alloc = std::allocator<CharT>>
bool neolib::basic_xml< CharT, Alloc >::error ( ) const
inline

Definition at line 464 of file xml.hpp.

◆ find() [1/2]

template<typename CharT , typename Alloc >
basic_xml< CharT, Alloc >::node::const_iterator neolib::basic_xml< CharT, Alloc >::find ( const node aParent,
const CharT aName 
) const

Definition at line 927 of file xml.inl.

◆ find() [2/2]

template<typename CharT , typename Alloc >
basic_xml< CharT, Alloc >::node::iterator neolib::basic_xml< CharT, Alloc >::find ( node aParent,
const CharT aName 
)

Definition at line 933 of file xml.inl.

◆ find_or_append()

template<typename CharT , typename Alloc >
basic_xml< CharT, Alloc >::node::iterator neolib::basic_xml< CharT, Alloc >::find_or_append ( node aParent,
const CharT aName 
)

Definition at line 939 of file xml.inl.

◆ got_root()

template<typename CharT , typename Alloc >
bool neolib::basic_xml< CharT, Alloc >::got_root ( ) const

Definition at line 504 of file xml.inl.

◆ insert()

template<typename CharT , typename Alloc >
basic_xml< CharT, Alloc >::node::iterator neolib::basic_xml< CharT, Alloc >::insert ( node aParent,
typename node::iterator  aPosition,
const CharT aName 
)

Definition at line 909 of file xml.inl.

◆ read()

template<typename CharT , typename Alloc >
bool neolib::basic_xml< CharT, Alloc >::read ( std::basic_istream< CharT > &  aStream)

Definition at line 747 of file xml.inl.

◆ root() [1/2]

Definition at line 494 of file xml.inl.

◆ root() [2/2]

Definition at line 484 of file xml.inl.

◆ set_indent()

template<typename CharT , typename Alloc >
void neolib::basic_xml< CharT, Alloc >::set_indent ( CharT  aIndentChar,
std::size_t  aIndentCount = 1 
)

Definition at line 809 of file xml.inl.

◆ set_strip_whitespace()

template<typename CharT , typename Alloc >
void neolib::basic_xml< CharT, Alloc >::set_strip_whitespace ( bool  aStripWhitespace)

Definition at line 816 of file xml.inl.

◆ write()

template<typename CharT , typename Alloc >
bool neolib::basic_xml< CharT, Alloc >::write ( std::basic_ostream< CharT > &  aStream)

Definition at line 798 of file xml.inl.


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