|
μHAL (v2.7.9)
Part of the IPbus software repository
|
Go to the documentation of this file.
14 #ifndef PUGIXML_VERSION
17 # define PUGIXML_VERSION 1100
21 #include "pugiconfig.hpp"
23 #ifndef HEADER_PUGIXML_HPP
24 #define HEADER_PUGIXML_HPP
30 #if !defined(PUGIXML_NO_XPATH) && !defined(PUGIXML_NO_EXCEPTIONS)
35 #ifndef PUGIXML_NO_STL
42 #ifndef PUGIXML_DEPRECATED
43 # if defined(__GNUC__)
44 # define PUGIXML_DEPRECATED __attribute__((deprecated))
45 # elif defined(_MSC_VER) && _MSC_VER >= 1300
46 # define PUGIXML_DEPRECATED __declspec(deprecated)
48 # define PUGIXML_DEPRECATED
59 # define PUGIXML_CLASS PUGIXML_API
63 #ifndef PUGIXML_FUNCTION
64 # define PUGIXML_FUNCTION PUGIXML_API
68 #ifndef PUGIXML_HAS_LONG_LONG
69 # if __cplusplus >= 201103
70 # define PUGIXML_HAS_LONG_LONG
71 # elif defined(_MSC_VER) && _MSC_VER >= 1400
72 # define PUGIXML_HAS_LONG_LONG
77 #ifndef PUGIXML_HAS_MOVE
78 # if __cplusplus >= 201103
79 # define PUGIXML_HAS_MOVE
80 # elif defined(_MSC_VER) && _MSC_VER >= 1600
81 # define PUGIXML_HAS_MOVE
86 #ifndef PUGIXML_NOEXCEPT
87 # if __cplusplus >= 201103
88 # define PUGIXML_NOEXCEPT noexcept
89 # elif defined(_MSC_VER) && _MSC_VER >= 1900
90 # define PUGIXML_NOEXCEPT noexcept
92 # define PUGIXML_NOEXCEPT
97 #ifdef PUGIXML_COMPACT
98 # define PUGIXML_NOEXCEPT_IF_NOT_COMPACT
100 # define PUGIXML_NOEXCEPT_IF_NOT_COMPACT PUGIXML_NOEXCEPT
104 #ifndef PUGIXML_OVERRIDE
105 # if __cplusplus >= 201103
106 # define PUGIXML_OVERRIDE override
107 # elif defined(_MSC_VER) && _MSC_VER >= 1700
108 # define PUGIXML_OVERRIDE override
110 # define PUGIXML_OVERRIDE
115 #ifdef PUGIXML_WCHAR_MODE
116 # define PUGIXML_TEXT(t) L ## t
117 # define PUGIXML_CHAR wchar_t
119 # define PUGIXML_TEXT(t) t
120 # define PUGIXML_CHAR char
128 #ifndef PUGIXML_NO_STL
130 typedef std::basic_string<PUGIXML_CHAR, std::char_traits<PUGIXML_CHAR>, std::allocator<PUGIXML_CHAR> >
string_t;
282 #ifndef PUGIXML_NO_XPATH
314 virtual void write(
const void* data,
size_t size) = 0;
330 #ifndef PUGIXML_NO_STL
337 xml_writer_stream(std::basic_ostream<
wchar_t, std::char_traits<wchar_t> >& stream);
343 std::basic_ostream<wchar_t, std::char_traits<wchar_t> >*
wide_stream;
366 operator unspecified_bool_type()
const;
369 bool operator!()
const;
384 const char_t* value()
const;
390 int as_int(
int def = 0)
const;
391 unsigned int as_uint(
unsigned int def = 0)
const;
392 double as_double(
double def = 0)
const;
393 float as_float(
float def = 0)
const;
395 #ifdef PUGIXML_HAS_LONG_LONG
396 long long as_llong(
long long def = 0)
const;
397 unsigned long long as_ullong(
unsigned long long def = 0)
const;
401 bool as_bool(
bool def =
false)
const;
404 bool set_name(
const char_t* rhs);
405 bool set_value(
const char_t* rhs);
408 bool set_value(
int rhs);
409 bool set_value(
unsigned int rhs);
410 bool set_value(
long rhs);
411 bool set_value(
unsigned long rhs);
412 bool set_value(
double rhs);
413 bool set_value(
float rhs);
414 bool set_value(
bool rhs);
416 #ifdef PUGIXML_HAS_LONG_LONG
417 bool set_value(
long long rhs);
418 bool set_value(
unsigned long long rhs);
431 #ifdef PUGIXML_HAS_LONG_LONG
441 size_t hash_value()
const;
463 typedef void (*unspecified_bool_type)(
xml_node***);
473 operator unspecified_bool_type()
const;
476 bool operator!()
const;
479 bool operator==(
const xml_node& r)
const;
480 bool operator!=(
const xml_node& r)
const;
481 bool operator<(
const xml_node& r)
const;
482 bool operator>(
const xml_node& r)
const;
483 bool operator<=(
const xml_node& r)
const;
484 bool operator>=(
const xml_node& r)
const;
497 const char_t* value()
const;
530 const char_t* child_value()
const;
536 bool set_name(
const char_t* rhs);
537 bool set_value(
const char_t* rhs);
580 bool remove_child(
const xml_node& n);
621 if (pred(cur))
return cur;
640 #ifndef PUGIXML_NO_STL
651 #ifndef PUGIXML_NO_XPATH
669 #ifndef PUGIXML_NO_STL
672 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;
693 ptrdiff_t offset_debug()
const;
696 size_t hash_value()
const;
715 typedef void (*unspecified_bool_type)(
xml_text***);
727 operator unspecified_bool_type()
const;
730 bool operator!()
const;
736 const char_t* get()
const;
742 int as_int(
int def = 0)
const;
743 unsigned int as_uint(
unsigned int def = 0)
const;
744 double as_double(
double def = 0)
const;
745 float as_float(
float def = 0)
const;
747 #ifdef PUGIXML_HAS_LONG_LONG
748 long long as_llong(
long long def = 0)
const;
749 unsigned long long as_ullong(
unsigned long long def = 0)
const;
753 bool as_bool(
bool def =
false)
const;
756 bool set(
const char_t* rhs);
760 bool set(
unsigned int rhs);
762 bool set(
unsigned long rhs);
763 bool set(
double rhs);
767 #ifdef PUGIXML_HAS_LONG_LONG
768 bool set(
long long rhs);
769 bool set(
unsigned long long rhs);
775 xml_text& operator=(
unsigned int rhs);
777 xml_text& operator=(
unsigned long rhs);
782 #ifdef PUGIXML_HAS_LONG_LONG
784 xml_text& operator=(
unsigned long long rhs);
815 #ifndef PUGIXML_NO_STL
857 #ifndef PUGIXML_NO_STL
893 #ifndef PUGIXML_NO_STL
993 operator bool()
const;
1022 #ifdef PUGIXML_HAS_MOVE
1034 #ifndef PUGIXML_NO_STL
1064 #ifndef PUGIXML_NO_STL
1067 void save(std::basic_ostream<
wchar_t, std::char_traits<wchar_t> >& stream,
const char_t* indent =
PUGIXML_TEXT(
"\t"),
unsigned int flags =
format_default)
const;
1078 #ifndef PUGIXML_NO_XPATH
1102 operator bool()
const;
1131 bool get_boolean()
const;
1132 double get_number()
const;
1133 const char_t* get_string()
const;
1137 bool set(
bool value);
1138 bool set(
double value);
1139 bool set(
const char_t* value);
1166 #ifdef PUGIXML_HAS_MOVE
1210 #ifdef PUGIXML_HAS_MOVE
1221 bool evaluate_boolean(
const xpath_node& n)
const;
1225 double evaluate_number(
const xpath_node& n)
const;
1227 #ifndef PUGIXML_NO_STL
1237 size_t evaluate_string(
char_t* buffer,
size_t capacity,
const xpath_node& n)
const;
1254 operator unspecified_bool_type()
const;
1257 bool operator!()
const;
1260 #ifndef PUGIXML_NO_EXCEPTIONS
1261 #if defined(_MSC_VER)
1264 #pragma warning(push)
1265 #pragma warning(disable: 4275)
1283 #if defined(_MSC_VER)
1284 #pragma warning(pop)
1313 operator unspecified_bool_type()
const;
1316 bool operator!()
const;
1360 #ifdef PUGIXML_HAS_MOVE
1370 size_t size()
const;
1373 const xpath_node& operator[](
size_t index)
const;
1401 #ifndef PUGIXML_NO_STL
1403 std::basic_string<char, std::char_traits<char>, std::allocator<char> >
PUGIXML_FUNCTION as_utf8(
const wchar_t* str);
1404 std::basic_string<char, std::char_traits<char>, std::allocator<char> >
PUGIXML_FUNCTION as_utf8(
const std::basic_string<
wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >& str);
1407 std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
PUGIXML_FUNCTION as_wide(
const char* str);
1408 std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >
PUGIXML_FUNCTION as_wide(
const std::basic_string<
char, std::char_traits<char>, std::allocator<char> >& str);
1412 typedef void* (*allocation_function)(
size_t size);
1425 #if !defined(PUGIXML_NO_STL) && (defined(_MSC_VER) || defined(__ICC))
1435 #if !defined(PUGIXML_NO_STL) && defined(__SUNPRO_CC)
1449 #if defined(PUGIXML_HEADER_ONLY) && !defined(PUGIXML_SOURCE)
1450 # define PUGIXML_SOURCE "pugixml.cpp"
1451 # include PUGIXML_SOURCE
const unsigned int parse_ws_pcdata
const unsigned int parse_default
const unsigned int parse_cdata
std::basic_string< PUGIXML_CHAR, std::char_traits< PUGIXML_CHAR >, std::allocator< PUGIXML_CHAR > > string_t
ptrdiff_t difference_type
const unsigned int parse_ws_pcdata_single
allocation_function PUGIXML_FUNCTION get_memory_allocation_function()
void _move(xpath_node_set &rhs) PUGIXML_NOEXCEPT
#define PUGIXML_DEPRECATED
const unsigned int format_indent
void append_attribute(xml_attribute_struct *attr, xml_node_struct *node)
xml_node find_child(Predicate pred) const
std::bidirectional_iterator_tag iterator_category
const unsigned int parse_declaration
std::basic_string< wchar_t, std::char_traits< wchar_t >, std::allocator< wchar_t > > PUGIXML_FUNCTION as_wide(const char *str)
std::basic_ostream< wchar_t, std::char_traits< wchar_t > > * wide_stream
virtual bool for_each(xml_node &node)=0
const unsigned int format_write_bom
const xpath_node * iterator
const xpath_node * const_iterator
void insert_attribute_before(xml_attribute_struct *attr, xml_attribute_struct *place, xml_node_struct *node)
const unsigned int format_save_file_text
xml_object_range(It b, It e)
virtual void write(const void *data, size_t size)=0
PUGI__FN void sort(I begin, I end, const Pred &pred)
void print(std::ostream &aStr, const tm *aTm, const uint32_t &aUsec)
Format a time element for for sending to the log.
const unsigned int parse_escapes
const unsigned int parse_wconv_attribute
std::basic_ostream< char, std::char_traits< char > > * narrow_stream
const unsigned int parse_doctype
xml_attribute_struct * _attr
const unsigned int format_raw
@ status_bad_start_element
xpath_parse_result _result
xml_node first_child() const
const unsigned int parse_pi
const unsigned int parse_embed_pcdata
xml_attribute find_attribute(Predicate pred) const
xpath_query(const xpath_query &)
xml_node_iterator iterator
ptrdiff_t difference_type
const unsigned int format_indent_attributes
void remove_attribute(xml_attribute_struct *attr, xml_node_struct *node)
ptrdiff_t difference_type
const unsigned int parse_comments
xml_document & operator=(const xml_document &)
xml_node find_node(Predicate pred) const
const unsigned int format_skip_control_chars
const unsigned int format_attribute_single_quote
xml_attribute next_attribute() const
PUGI__FN void reverse(I begin, I end)
xml_attribute_iterator attribute_iterator
xml_node next_sibling() const
const unsigned int parse_fragment
xml_document(const xml_document &)
void(* deallocation_function)(void *ptr)
void PUGIXML_FUNCTION set_memory_management_functions(allocation_function allocate, deallocation_function deallocate)
#define PUGIXML_NOEXCEPT_IF_NOT_COMPACT
void prepend_attribute(xml_attribute_struct *attr, xml_node_struct *node)
const unsigned int parse_full
deallocation_function PUGIXML_FUNCTION get_memory_deallocation_function()
const unsigned int format_no_declaration
const unsigned int parse_wnorm_attribute
const unsigned int parse_trim_pcdata
std::basic_string< char, std::char_traits< char >, std::allocator< char > > PUGIXML_FUNCTION as_utf8(const wchar_t *str)
const unsigned int format_no_escapes
void insert_attribute_after(xml_attribute_struct *attr, xml_attribute_struct *place, xml_node_struct *node)
const unsigned int format_default
@ status_end_element_mismatch
@ status_no_document_element
xpath_parse_result _result
const unsigned int parse_minimal
void _move(xml_document &rhs) PUGIXML_NOEXCEPT_IF_NOT_COMPACT
@ status_append_invalid_root
const unsigned int format_no_empty_element_tags
xml_attribute & reference
xpath_variable(const xpath_variable &)
std::bidirectional_iterator_tag iterator_category
xpath_variable & operator=(const xpath_variable &)
const unsigned int parse_eol
xpath_query & operator=(const xpath_query &)
@ status_unrecognized_tag
void *(* allocation_function)(size_t size)
std::bidirectional_iterator_tag iterator_category