16#ifdef OGDF_EXTERNAL_PUGIXML
18#elif !defined(HEADER_PUGIXML_HPP)
19#define HEADER_PUGIXML_HPP
23#ifndef PUGIXML_VERSION
24# define PUGIXML_VERSION 1150
34#if !defined(PUGIXML_NO_XPATH) && !defined(PUGIXML_NO_EXCEPTIONS)
46#if !defined(PUGIXML_HAS_STRING_VIEW) && !defined(PUGIXML_NO_STL)
47# if __cplusplus >= 201703L
48# define PUGIXML_HAS_STRING_VIEW
49# elif defined(_MSVC_LANG) && _MSVC_LANG >= 201703L
50# define PUGIXML_HAS_STRING_VIEW
55#ifdef PUGIXML_HAS_STRING_VIEW
56# include <string_view>
60#ifndef PUGIXML_DEPRECATED
62# define PUGIXML_DEPRECATED __attribute__((deprecated))
63# elif defined(_MSC_VER) && _MSC_VER >= 1300
64# define PUGIXML_DEPRECATED __declspec(deprecated)
66# define PUGIXML_DEPRECATED
77# define PUGIXML_CLASS PUGIXML_API
81#ifndef PUGIXML_FUNCTION
82# define PUGIXML_FUNCTION PUGIXML_API
86#ifndef PUGIXML_HAS_LONG_LONG
87# if __cplusplus >= 201103
88# define PUGIXML_HAS_LONG_LONG
89# elif defined(_MSC_VER) && _MSC_VER >= 1400
90# define PUGIXML_HAS_LONG_LONG
95#ifndef PUGIXML_HAS_MOVE
96# if __cplusplus >= 201103
97# define PUGIXML_HAS_MOVE
98# elif defined(_MSC_VER) && _MSC_VER >= 1600
99# define PUGIXML_HAS_MOVE
104#ifndef PUGIXML_NOEXCEPT
105# if __cplusplus >= 201103
106# define PUGIXML_NOEXCEPT noexcept
107# elif defined(_MSC_VER) && _MSC_VER >= 1900
108# define PUGIXML_NOEXCEPT noexcept
110# define PUGIXML_NOEXCEPT throw()
115#ifdef PUGIXML_COMPACT
116# define PUGIXML_NOEXCEPT_IF_NOT_COMPACT
118# define PUGIXML_NOEXCEPT_IF_NOT_COMPACT PUGIXML_NOEXCEPT
122#ifndef PUGIXML_OVERRIDE
123# if __cplusplus >= 201103
124# define PUGIXML_OVERRIDE override
125# elif defined(_MSC_VER) && _MSC_VER >= 1700
126# define PUGIXML_OVERRIDE override
128# define PUGIXML_OVERRIDE
134# if __cplusplus >= 201103
135# define PUGIXML_NULL nullptr
136# elif defined(_MSC_VER) && _MSC_VER >= 1600
137# define PUGIXML_NULL nullptr
139# define PUGIXML_NULL 0
144#ifdef PUGIXML_WCHAR_MODE
145# define PUGIXML_TEXT(t) L ## t
146# define PUGIXML_CHAR wchar_t
148# define PUGIXML_TEXT(t) t
149# define PUGIXML_CHAR char
157#ifndef PUGIXML_NO_STL
162#ifdef PUGIXML_HAS_STRING_VIEW
164 typedef std::basic_string_view<PUGIXML_CHAR> string_view_t;
308 struct xml_attribute_struct;
309 struct xml_node_struct;
323 #ifndef PUGIXML_NO_XPATH
357 virtual void write(
const void* data,
size_t size) = 0;
373 #ifndef PUGIXML_NO_STL
409 operator unspecified_bool_type()
const;
434 unsigned int as_uint(
unsigned int def = 0)
const;
438 #ifdef PUGIXML_HAS_LONG_LONG
440 unsigned long long as_ullong(
unsigned long long def = 0)
const;
449 #ifdef PUGIXML_HAS_STRING_VIEW
450 bool set_name(string_view_t rhs);
454 #ifdef PUGIXML_HAS_STRING_VIEW
455 bool set_value(string_view_t rhs);
469 #ifdef PUGIXML_HAS_LONG_LONG
484 #ifdef PUGIXML_HAS_STRING_VIEW
488 #ifdef PUGIXML_HAS_LONG_LONG
520 typedef void (*unspecified_bool_type)(
xml_node***);
530 operator unspecified_bool_type()
const;
582 #ifdef PUGIXML_HAS_STRING_VIEW
583 xml_node child(string_view_t name)
const;
585 xml_node next_sibling(string_view_t name)
const;
586 xml_node previous_sibling(string_view_t name)
const;
591 #ifdef PUGIXML_HAS_STRING_VIEW
604 #ifdef PUGIXML_HAS_STRING_VIEW
605 bool set_name(string_view_t rhs);
609 #ifdef PUGIXML_HAS_STRING_VIEW
610 bool set_value(string_view_t rhs);
618 #ifdef PUGIXML_HAS_STRING_VIEW
642 #ifdef PUGIXML_HAS_STRING_VIEW
643 xml_node append_child(string_view_t name);
644 xml_node prepend_child(string_view_t name);
664 #ifdef PUGIXML_HAS_STRING_VIEW
665 bool remove_attribute(string_view_t name);
674 #ifdef PUGIXML_HAS_STRING_VIEW
675 bool remove_child(string_view_t name);
703 for (
xml_node node = first_child(); node; node = node.next_sibling())
719 if (pred(cur))
return cur;
738 #ifndef PUGIXML_NO_STL
749 #ifndef PUGIXML_NO_XPATH
767 #ifndef PUGIXML_NO_STL
769 void print(std::basic_ostream<char>& os,
const char_t* indent =
PUGIXML_TEXT(
"\t"),
unsigned int flags = format_default,
xml_encoding encoding = encoding_auto,
unsigned int depth = 0)
const;
770 void print(std::basic_ostream<wchar_t>& os,
const char_t* indent =
PUGIXML_TEXT(
"\t"),
unsigned int flags = format_default,
unsigned int depth = 0)
const;
816 typedef void (*unspecified_bool_type)(
xml_text***);
828 operator unspecified_bool_type()
const;
844 unsigned int as_uint(
unsigned int def = 0)
const;
848 #ifdef PUGIXML_HAS_LONG_LONG
850 unsigned long long as_ullong(
unsigned long long def = 0)
const;
859 #ifdef PUGIXML_HAS_STRING_VIEW
860 bool set(string_view_t rhs);
865 bool set(
unsigned int rhs);
867 bool set(
unsigned long rhs);
869 bool set(
double rhs,
int precision);
871 bool set(
float rhs,
int precision);
874 #ifdef PUGIXML_HAS_LONG_LONG
876 bool set(
unsigned long long rhs);
889 #ifdef PUGIXML_HAS_STRING_VIEW
890 xml_text& operator=(string_view_t rhs);
893 #ifdef PUGIXML_HAS_LONG_LONG
926 #ifndef PUGIXML_NO_STL
968 #ifndef PUGIXML_NO_STL
1004 #ifndef PUGIXML_NO_STL
1105 operator bool()
const;
1134 #ifdef PUGIXML_HAS_MOVE
1146 #ifndef PUGIXML_NO_STL
1176 #ifndef PUGIXML_NO_STL
1179 void save(std::basic_ostream<wchar_t>& stream,
const char_t* indent =
PUGIXML_TEXT(
"\t"),
unsigned int flags = format_default)
const;
1190#ifndef PUGIXML_NO_XPATH
1214 operator bool()
const;
1278 #ifdef PUGIXML_HAS_MOVE
1322 #ifdef PUGIXML_HAS_MOVE
1339 #ifndef PUGIXML_NO_STL
1366 operator unspecified_bool_type()
const;
1372 #ifndef PUGIXML_NO_EXCEPTIONS
1373 #if defined(_MSC_VER)
1376 #pragma warning(push)
1377 #pragma warning(disable: 4275)
1395 #if defined(_MSC_VER)
1396 #pragma warning(pop)
1425 operator unspecified_bool_type()
const;
1472 #ifdef PUGIXML_HAS_MOVE
1513#ifndef PUGIXML_NO_STL
1524 typedef void* (*allocation_function)(
size_t size);
1527 typedef void (*deallocation_function)(
void* ptr);
1537#if !defined(PUGIXML_NO_STL) && (defined(_MSC_VER) || defined(__ICC))
1547#if !defined(PUGIXML_NO_STL) && defined(__SUNPRO_CC)
1561#if defined(PUGIXML_HEADER_ONLY) && !defined(PUGIXML_SOURCE)
1562# define PUGIXML_SOURCE "pugixml.cpp"
1563# include PUGIXML_SOURCE
ptrdiff_t difference_type
xml_attribute * operator->() const
xml_attribute_iterator & operator++()
xml_attribute_iterator operator--(int)
xml_attribute_iterator & operator--()
xml_attribute_iterator operator++(int)
xml_attribute_iterator(xml_attribute_struct *ref, xml_node_struct *parent)
std::bidirectional_iterator_tag iterator_category
xml_attribute_iterator(const xml_attribute &attr, const xml_node &parent)
bool operator==(const xml_attribute_iterator &rhs) const
xml_attribute & reference
bool operator!=(const xml_attribute_iterator &rhs) const
xml_attribute & operator*() const
bool set_value(float rhs, int precision)
bool operator>(const xml_attribute &r) const
xml_attribute & operator=(unsigned long rhs)
bool set_value(const char_t *rhs, size_t size)
xml_attribute & operator=(long rhs)
bool set_value(unsigned long long rhs)
unsigned long long as_ullong(unsigned long long def=0) const
bool operator<=(const xml_attribute &r) const
xml_attribute & operator=(unsigned int rhs)
xml_attribute & operator=(const char_t *rhs)
xml_attribute next_attribute() const
xml_attribute & operator=(long long rhs)
bool set_value(double rhs, int precision)
size_t hash_value() const
xml_attribute_struct * internal_object() const
xml_attribute(xml_attribute_struct *attr)
bool as_bool(bool def=false) const
const char_t * value() const
bool set_name(const char_t *rhs, size_t size)
float as_float(float def=0) const
xml_attribute & operator=(unsigned long long rhs)
const char_t * name() const
bool set_value(const char_t *rhs)
bool set_value(double rhs)
bool set_value(long long rhs)
bool operator>=(const xml_attribute &r) const
bool operator==(const xml_attribute &r) const
const char_t * as_string(const char_t *def=PUGIXML_TEXT("")) const
double as_double(double def=0) const
bool operator<(const xml_attribute &r) const
unsigned int as_uint(unsigned int def=0) const
xml_attribute_struct * _attr
xml_attribute previous_attribute() const
bool set_value(unsigned int rhs)
bool operator!=(const xml_attribute &r) const
long long as_llong(long long def=0) const
xml_attribute & operator=(float rhs)
xml_attribute & operator=(double rhs)
bool set_name(const char_t *rhs)
bool set_value(float rhs)
bool set_value(unsigned long rhs)
xml_attribute & operator=(bool rhs)
xml_attribute & operator=(int rhs)
int as_int(int def=0) const
xml_parse_result load_buffer_inplace_own(void *contents, size_t size, unsigned int options=parse_default, xml_encoding encoding=encoding_auto)
xml_parse_result load(std::basic_istream< wchar_t > &stream, unsigned int options=parse_default)
xml_parse_result load_file(const char *path, unsigned int options=parse_default, xml_encoding encoding=encoding_auto)
bool save_file(const wchar_t *path, const char_t *indent=PUGIXML_TEXT("\t"), unsigned int flags=format_default, xml_encoding encoding=encoding_auto) const
xml_document(const xml_document &)
void save(xml_writer &writer, const char_t *indent=PUGIXML_TEXT("\t"), unsigned int flags=format_default, xml_encoding encoding=encoding_auto) const
xml_parse_result load_string(const char_t *contents, unsigned int options=parse_default)
xml_parse_result load_file(const wchar_t *path, unsigned int options=parse_default, xml_encoding encoding=encoding_auto)
xml_parse_result load(std::basic_istream< char > &stream, unsigned int options=parse_default, xml_encoding encoding=encoding_auto)
void save(std::basic_ostream< wchar_t > &stream, const char_t *indent=PUGIXML_TEXT("\t"), unsigned int flags=format_default) const
xml_node document_element() const
xml_document & operator=(const xml_document &)
void reset(const xml_document &proto)
xml_parse_result load_buffer_inplace(void *contents, size_t size, unsigned int options=parse_default, xml_encoding encoding=encoding_auto)
PUGIXML_DEPRECATED xml_parse_result load(const char_t *contents, unsigned int options=parse_default)
bool save_file(const char *path, const char_t *indent=PUGIXML_TEXT("\t"), unsigned int flags=format_default, xml_encoding encoding=encoding_auto) const
void save(std::basic_ostream< char > &stream, const char_t *indent=PUGIXML_TEXT("\t"), unsigned int flags=format_default, xml_encoding encoding=encoding_auto) const
void _move(xml_document &rhs) PUGIXML_NOEXCEPT_IF_NOT_COMPACT
xml_parse_result load_buffer(const void *contents, size_t size, unsigned int options=parse_default, xml_encoding encoding=encoding_auto)
xml_named_node_iterator & operator++()
xml_named_node_iterator(xml_node_struct *ref, xml_node_struct *parent, const char_t *name)
ptrdiff_t difference_type
bool operator!=(const xml_named_node_iterator &rhs) const
xml_named_node_iterator(const xml_node &node, const char_t *name)
xml_named_node_iterator()
xml_named_node_iterator & operator--()
xml_named_node_iterator operator--(int)
xml_node & operator*() const
xml_named_node_iterator operator++(int)
std::bidirectional_iterator_tag iterator_category
xml_node * operator->() const
bool operator==(const xml_named_node_iterator &rhs) const
bool operator==(const xml_node_iterator &rhs) const
xml_node_iterator & operator++()
xml_node_iterator(xml_node_struct *ref, xml_node_struct *parent)
xml_node_iterator(const xml_node &node)
xml_node_iterator operator--(int)
bool operator!=(const xml_node_iterator &rhs) const
xml_node_iterator & operator--()
std::bidirectional_iterator_tag iterator_category
xml_node_iterator operator++(int)
ptrdiff_t difference_type
xml_node * operator->() const
xml_node & operator*() const
xml_node insert_copy_after(const xml_node &proto, const xml_node &node)
bool set_value(const char_t *rhs, size_t size)
bool remove_child(const xml_node &n)
xml_node insert_move_before(const xml_node &moved, const xml_node &node)
PUGIXML_DEPRECATED xpath_node select_single_node(const xpath_query &query) const
xml_node insert_child_before(const char_t *name, const xml_node &node)
xml_node prepend_copy(const xml_node &proto)
const char_t * value() const
bool operator>=(const xml_node &r) const
bool operator<=(const xml_node &r) const
xml_node insert_move_after(const xml_node &moved, const xml_node &node)
PUGIXML_DEPRECATED xpath_node select_single_node(const char_t *query, xpath_variable_set *variables=PUGIXML_NULL) const
xml_node find_child_by_attribute(const char_t *attr_name, const char_t *attr_value) const
xpath_node_set select_nodes(const char_t *query, xpath_variable_set *variables=PUGIXML_NULL) const
xml_node prepend_move(const xml_node &moved)
xml_node next_sibling(const char_t *name) const
xml_attribute first_attribute() const
xml_attribute insert_copy_after(const xml_attribute &proto, const xml_attribute &attr)
bool operator!=(const xml_node &r) const
xml_attribute insert_attribute_after(const char_t *name, const xml_attribute &attr)
bool traverse(xml_tree_walker &walker)
xml_attribute find_attribute(Predicate pred) const
xml_node prepend_child(xml_node_type type=node_element)
xml_attribute append_attribute(const char_t *name)
xpath_node select_node(const xpath_query &query) const
xml_node append_child(xml_node_type type=node_element)
xml_node first_element_by_path(const char_t *path, char_t delimiter='/') const
xml_node_struct * internal_object() const
xml_node append_copy(const xml_node &proto)
xml_object_range< xml_node_iterator > children() const
const char_t * name() const
xml_attribute insert_attribute_before(const char_t *name, const xml_attribute &attr)
xml_node(xml_node_struct *p)
xml_node find_child_by_attribute(const char_t *name, const char_t *attr_name, const char_t *attr_value) const
xml_object_range< xml_attribute_iterator > attributes() const
xml_node previous_sibling(const char_t *name) const
bool set_name(const char_t *rhs, size_t size)
bool set_name(const char_t *rhs)
xml_attribute prepend_attribute(const char_t *name)
ptrdiff_t offset_debug() const
xml_node first_child() const
xml_node append_child(const char_t *name)
xml_node previous_sibling() const
xml_attribute prepend_copy(const xml_attribute &proto)
xml_node append_move(const xml_node &moved)
xml_object_range< xml_named_node_iterator > children(const char_t *name) const
xml_node insert_copy_before(const xml_node &proto, const xml_node &node)
bool remove_child(const char_t *name)
xml_attribute attribute(const char_t *name) const
xml_node find_node(Predicate pred) const
void print(std::basic_ostream< wchar_t > &os, const char_t *indent=PUGIXML_TEXT("\t"), unsigned int flags=format_default, unsigned int depth=0) const
bool operator<(const xml_node &r) const
void print(std::basic_ostream< char > &os, const char_t *indent=PUGIXML_TEXT("\t"), unsigned int flags=format_default, xml_encoding encoding=encoding_auto, unsigned int depth=0) const
attribute_iterator attributes_begin() const
xml_attribute_iterator attribute_iterator
bool operator==(const xml_node &r) const
xml_attribute last_attribute() const
xml_attribute insert_copy_before(const xml_attribute &proto, const xml_attribute &attr)
bool remove_attribute(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)
xml_node insert_child_before(xml_node_type type, const xml_node &node)
xml_node last_child() 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
const char_t * child_value() const
xml_attribute append_copy(const xml_attribute &proto)
size_t hash_value() const
xml_node prepend_child(const char_t *name)
xml_node_type type() const
xml_node find_child(Predicate pred) const
xml_attribute attribute(const char_t *name, xml_attribute &hint) const
xml_node insert_child_after(const char_t *name, const xml_node &node)
bool remove_attribute(const xml_attribute &a)
const char_t * child_value(const char_t *name) const
string_t path(char_t delimiter='/') const
xpath_node select_node(const char_t *query, xpath_variable_set *variables=PUGIXML_NULL) const
xpath_node_set select_nodes(const xpath_query &query) const
bool operator>(const xml_node &r) const
xml_node_iterator iterator
xml_node next_sibling() const
attribute_iterator attributes_end() const
xml_node child(const char_t *name) const
xml_node insert_child_after(xml_node_type type, const xml_node &node)
bool set_value(const char_t *rhs)
xml_object_range(It b, It e)
const char_t * as_string(const char_t *def=PUGIXML_TEXT("")) const
xml_text(xml_node_struct *root)
double as_double(double def=0) const
float as_float(float def=0) const
int as_int(int def=0) const
xml_node_struct * _data() const
bool set(double rhs, int precision)
xml_text & operator=(double rhs)
xml_text & operator=(int rhs)
bool set(unsigned int rhs)
xml_text & operator=(long long rhs)
xml_text & operator=(unsigned long long rhs)
xml_text & operator=(long rhs)
bool set(const char_t *rhs, size_t size)
xml_text & operator=(bool rhs)
bool as_bool(bool def=false) const
bool set(const char_t *rhs)
long long as_llong(long long def=0) const
xml_node_struct * _data_new()
unsigned long long as_ullong(unsigned long long def=0) const
bool set(float rhs, int precision)
bool set(unsigned long long rhs)
bool set(unsigned long rhs)
xml_text & operator=(float rhs)
unsigned int as_uint(unsigned int def=0) const
const char_t * get() const
xml_text & operator=(const char_t *rhs)
xml_text & operator=(unsigned long rhs)
xml_text & operator=(unsigned int rhs)
virtual bool for_each(xml_node &node)=0
virtual ~xml_tree_walker()
virtual bool end(xml_node &node)
virtual bool begin(xml_node &node)
virtual void write(const void *data, size_t size) PUGIXML_OVERRIDE
xml_writer_file(void *file)
std::basic_ostream< wchar_t > * wide_stream
xml_writer_stream(std::basic_ostream< wchar_t > &stream)
virtual void write(const void *data, size_t size) PUGIXML_OVERRIDE
std::basic_ostream< char > * narrow_stream
xml_writer_stream(std::basic_ostream< char > &stream)
virtual void write(const void *data, size_t size)=0
const_iterator begin() const
xpath_node_set(const_iterator begin, const_iterator end, type_t type=type_unsorted)
void sort(bool reverse=false)
xpath_node_set(const xpath_node_set &ns)
const xpath_node * const_iterator
const_iterator end() const
const xpath_node & operator[](size_t index) const
void _assign(const_iterator begin, const_iterator end, type_t type)
const xpath_node * iterator
xpath_node_set & operator=(const xpath_node_set &ns)
void _move(xpath_node_set &rhs) PUGIXML_NOEXCEPT
xml_attribute attribute() const
bool operator!=(const xpath_node &n) const
xpath_node(const xml_attribute &attribute, const xml_node &parent)
bool operator==(const xpath_node &n) const
xpath_node(const xml_node &node)
xpath_node_set evaluate_node_set(const xpath_node &n) const
string_t evaluate_string(const xpath_node &n) const
size_t evaluate_string(char_t *buffer, size_t capacity, const xpath_node &n) const
xpath_parse_result _result
xpath_node evaluate_node(const xpath_node &n) const
xpath_query & operator=(const xpath_query &)
double evaluate_number(const xpath_node &n) const
const xpath_parse_result & result() const
xpath_query(const xpath_query &)
xpath_value_type return_type() const
xpath_query(const char_t *query, xpath_variable_set *variables=PUGIXML_NULL)
bool evaluate_boolean(const xpath_node &n) const
void _swap(xpath_variable_set &rhs)
const xpath_variable * get(const char_t *name) const
xpath_variable * _find(const char_t *name) const
xpath_variable_set & operator=(const xpath_variable_set &rhs)
bool set(const char_t *name, const xpath_node_set &value)
bool set(const char_t *name, bool value)
bool set(const char_t *name, const char_t *value)
bool set(const char_t *name, double value)
xpath_variable * get(const char_t *name)
static bool _clone(xpath_variable *var, xpath_variable **out_result)
void _assign(const xpath_variable_set &rhs)
static void _destroy(xpath_variable *var)
xpath_variable_set(const xpath_variable_set &rhs)
xpath_variable * add(const char_t *name, xpath_value_type type)
bool set(const char_t *value)
xpath_variable(const xpath_variable &)
xpath_value_type type() const
xpath_variable(xpath_value_type type)
double get_number() const
const xpath_node_set & get_node_set() const
const char_t * get_string() const
const char_t * name() const
xpath_variable & operator=(const xpath_variable &)
bool set(const xpath_node_set &value)
Basic configuration file.
const unsigned int format_no_empty_element_tags
deallocation_function PUGIXML_FUNCTION get_memory_deallocation_function()
std::basic_string< wchar_t > PUGIXML_FUNCTION as_wide(const char *str)
allocation_function PUGIXML_FUNCTION get_memory_allocation_function()
const unsigned int format_no_declaration
const unsigned int parse_trim_pcdata
const unsigned int parse_wconv_attribute
const unsigned int format_skip_control_chars
const unsigned int format_raw
const unsigned int format_default
void(* deallocation_function)(void *ptr)
const int default_double_precision
const unsigned int parse_cdata
void *(* allocation_function)(size_t size)
const unsigned int parse_merge_pcdata
const unsigned int parse_fragment
const unsigned int parse_full
const unsigned int parse_embed_pcdata
const unsigned int parse_wnorm_attribute
const unsigned int format_indent_attributes
const unsigned int parse_pi
@ status_append_invalid_root
@ status_end_element_mismatch
@ status_bad_start_element
@ status_unrecognized_tag
@ status_no_document_element
std::basic_string< char > PUGIXML_FUNCTION as_utf8(const wchar_t *str)
const unsigned int format_save_file_text
const unsigned int parse_escapes
const unsigned int format_write_bom
void PUGIXML_FUNCTION set_memory_management_functions(allocation_function allocate, deallocation_function deallocate)
const unsigned int format_attribute_single_quote
const unsigned int format_indent
const unsigned int parse_eol
const unsigned int parse_default
const unsigned int parse_declaration
const unsigned int parse_comments
const unsigned int parse_ws_pcdata
const unsigned int parse_minimal
const unsigned int parse_ws_pcdata_single
const unsigned int format_no_escapes
const int default_float_precision
std::basic_string< PUGIXML_CHAR > string_t
const unsigned int parse_doctype
#define PUGIXML_DEPRECATED
#define PUGIXML_NOEXCEPT_IF_NOT_COMPACT
const char * description() const
const char * description() const