#include "pugixml.hpp"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <limits.h>
#include <math.h>
#include <float.h>
#include <istream>
#include <ostream>
#include <string>
#include <new>
#include <stdint.h>
Go to the source code of this file.
Namespaces | |
pugi | |
Macros | |
#define | PUGI__CHECK_ERROR(err, m) { if (*s == 0) PUGI__THROW_ERROR(err, m); } |
#define | PUGI__DMC_VOLATILE |
#define | PUGI__ENDSEG() { ch = *s; *s = 0; ++s; } |
#define | PUGI__ENDSWITH(c, e) ((c) == (e) || ((c) == 0 && endch == (e))) |
#define | PUGI__FN |
#define | PUGI__FN_NO_INLINE PUGI__NO_INLINE |
#define | PUGI__GETHEADER_IMPL(object, page, flags) (((reinterpret_cast<char*>(object) - reinterpret_cast<char*>(page)) << 8) | (flags)) |
#define | PUGI__GETPAGE(n) PUGI__GETPAGE_IMPL((n)->header) |
#define | PUGI__GETPAGE_IMPL(header) static_cast<impl::xml_memory_page*>(const_cast<void*>(static_cast<const void*>(reinterpret_cast<const char*>(&header) - (header >> 8)))) |
#define | PUGI__IS_CHARTYPE(c, ct) PUGI__IS_CHARTYPE_IMPL(c, ct, chartype_table) |
#define | PUGI__IS_CHARTYPE_IMPL(c, ct, table) (table[static_cast<unsigned char>(c)] & (ct)) |
#define | PUGI__IS_CHARTYPEX(c, ct) PUGI__IS_CHARTYPE_IMPL(c, ct, chartypex_table) |
#define | PUGI__NO_INLINE |
#define | PUGI__NODETYPE(n) static_cast<xml_node_type>((n)->header & impl::xml_memory_page_type_mask) |
#define | PUGI__NS_BEGIN namespace pugi { namespace impl { namespace { |
#define | PUGI__NS_END } } } |
#define | PUGI__OPTSET(OPT) ( optmsk & (OPT) ) |
#define | PUGI__POPNODE() { cursor = cursor->parent; } |
#define | PUGI__PUSHNODE(TYPE) { cursor = append_new_node(cursor, *alloc, TYPE); if (!cursor) PUGI__THROW_ERROR(status_out_of_memory, s); } |
#define | PUGI__SCANCHAR(ch) { if (offset >= size || data[offset] != ch) return false; offset++; } |
#define | PUGI__SCANCHARTYPE(ct) { while (offset < size && PUGI__IS_CHARTYPE(data[offset], ct)) offset++; } |
#define | PUGI__SCANFOR(X) { while (*s != 0 && !(X)) ++s; } |
#define | PUGI__SCANWHILE(X) { while (X) ++s; } |
#define | PUGI__SCANWHILE_UNROLL(X) { for (;;) { char_t ss = s[0]; if (PUGI__UNLIKELY(!(X))) { break; } ss = s[1]; if (PUGI__UNLIKELY(!(X))) { s += 1; break; } ss = s[2]; if (PUGI__UNLIKELY(!(X))) { s += 2; break; } ss = s[3]; if (PUGI__UNLIKELY(!(X))) { s += 3; break; } s += 4; } } |
#define | PUGI__SKIPWS() { while (PUGI__IS_CHARTYPE(*s, ct_space)) ++s; } |
#define | PUGI__SNPRINTF sprintf |
#define | PUGI__STATIC_ASSERT(cond) { static const char condition_failed[(cond) ? 1 : -1] = {0}; (void)condition_failed[0]; } |
#define | PUGI__THROW_ERROR(err, m) return error_offset = m, error_status = err, static_cast<char_t*>(0) |
#define | PUGI__UNLIKELY(cond) (cond) |
#define | PUGI__UNSIGNED_OVERFLOW |
#define | SOURCE_PUGIXML_CPP |
pugixml parser - version 1.9Copyright (C) 2006-2018, by Arseny Kapoulkine (arsen) Report bugs and download new versions at y.ka poulk ine@ gmail .comhttp://pugixml.org/ More... | |
Typedefs | |
typedef char_t *(* | strconv_attribute_t) (char_t *, char_t) |
typedef char_t *(* | strconv_pcdata_t) (char_t *) |
typedef wchar_selector< sizeof(wchar_t)>::counter | wchar_counter |
typedef wchar_selector< sizeof(wchar_t)>::writer | wchar_writer |
typedef xml_memory_management_function_storage< int > | xml_memory |
Functions | |
PUGI__NS_END PUGI__NS_BEGIN xml_attribute_struct * | allocate_attribute (xml_allocator &alloc) |
xml_node_struct * | allocate_node (xml_allocator &alloc, xml_node_type type) |
PUGI__FN bool | allow_insert_attribute (xml_node_type parent) |
PUGI__FN bool | allow_insert_child (xml_node_type parent, xml_node_type child) |
PUGI__FN bool | allow_move (xml_node parent, xml_node child) |
void | append_attribute (xml_attribute_struct *attr, xml_node_struct *node) |
PUGI__FN_NO_INLINE xml_attribute_struct * | append_new_attribute (xml_node_struct *node, xml_allocator &alloc) |
PUGI__FN_NO_INLINE xml_node_struct * | append_new_node (xml_node_struct *node, xml_allocator &alloc, xml_node_type type=node_element) |
void | append_node (xml_node_struct *child, xml_node_struct *node) |
PUGI__FN std::string PUGIXML_FUNCTION | pugi::as_utf8 (const wchar_t *str) |
PUGI__FN std::string PUGIXML_FUNCTION | pugi::as_utf8 (const std::basic_string< wchar_t > &str) |
PUGI__FN size_t | as_utf8_begin (const wchar_t *str, size_t length) |
PUGI__FN void | as_utf8_end (char *buffer, size_t size, const wchar_t *str, size_t length) |
PUGI__FN std::string | as_utf8_impl (const wchar_t *str, size_t length) |
PUGI__FN std::basic_string< wchar_t > PUGIXML_FUNCTION | pugi::as_wide (const char *str) |
PUGI__FN std::basic_string< wchar_t > PUGIXML_FUNCTION | pugi::as_wide (const std::string &str) |
PUGI__FN std::basic_string< wchar_t > | as_wide_impl (const char *str, size_t size) |
PUGI__FN bool | check_string_to_number_format (const char_t *string) |
PUGI__FN void | close_file (FILE *file) |
PUGI__FN bool | convert_buffer (char_t *&out_buffer, size_t &out_length, xml_encoding encoding, const void *contents, size_t size, bool is_mutable) |
template<typename D > | |
PUGI__FN bool | convert_buffer_generic (char_t *&out_buffer, size_t &out_length, const void *contents, size_t size, D) |
PUGI__FN bool | convert_buffer_latin1 (char_t *&out_buffer, size_t &out_length, const void *contents, size_t size, bool is_mutable) |
PUGI__FN size_t | convert_buffer_output (char_t *, uint8_t *r_u8, uint16_t *r_u16, uint32_t *r_u32, const char_t *data, size_t length, xml_encoding encoding) |
template<typename D , typename T > | |
PUGI__FN size_t | convert_buffer_output_generic (typename T::value_type dest, const char_t *data, size_t length, D, T) |
template<typename D , typename T > | |
PUGI__FN size_t | convert_buffer_output_generic (typename T::value_type dest, const char_t *data, size_t length, D, T, bool opt_swap) |
PUGI__FN bool | convert_number_to_boolean (double value) |
PUGI__FN void | convert_number_to_mantissa_exponent (double value, char(&buffer)[32], char **out_mantissa, int *out_exponent) |
PUGI__FN xpath_string | convert_number_to_string (double value, xpath_allocator *alloc) |
PUGI__FN const char_t * | convert_number_to_string_special (double value) |
PUGI__FN char * | convert_path_heap (const wchar_t *str) |
PUGI__FN double | convert_string_to_number (const char_t *string) |
PUGI__FN bool | convert_string_to_number_scratch (char_t(&buffer)[32], const char_t *begin, const char_t *end, double *out_result) |
PUGI__FN bool | copy_xpath_variable (xpath_variable *lhs, const xpath_variable *rhs) |
PUGI__NS_BEGIN PUGI__FN void * | default_allocate (size_t size) |
PUGI__FN void | default_deallocate (void *ptr) |
template<typename T > | |
PUGI__FN void | delete_xpath_variable (T *var) |
PUGI__FN void | delete_xpath_variable (xpath_value_type type, xpath_variable *var) |
void | destroy_attribute (xml_attribute_struct *a, xml_allocator &alloc) |
void | destroy_node (xml_node_struct *n, xml_allocator &alloc) |
PUGI__FN const void * | document_buffer_order (const xpath_node &xnode) |
PUGI__NS_END PUGI__NS_BEGIN uint16_t | endian_swap (uint16_t value) |
uint32_t | endian_swap (uint32_t value) |
PUGI__FN impl::xpath_ast_node * | evaluate_node_set_prepare (xpath_query_impl *impl) |
PUGI__FN const char_t * | find_char (const char_t *s, char_t c) |
PUGI__FN const char_t * | find_substring (const char_t *s, const char_t *p) |
PUGI__FN double | gen_nan () |
template<typename Object > | |
xml_allocator & | get_allocator (const Object *object) |
PUGI__FN xml_encoding | get_buffer_encoding (xml_encoding encoding, const void *contents, size_t size) |
template<typename Object > | |
xml_document_struct & | get_document (const Object *object) |
PUGI__FN xml_parse_status | get_file_size (FILE *file, size_t &out_result) |
PUGI__FN size_t | get_latin1_7bit_prefix_length (const uint8_t *data, size_t size) |
PUGI__FN allocation_function PUGIXML_FUNCTION | pugi::get_memory_allocation_function () |
PUGI__FN deallocation_function PUGIXML_FUNCTION | pugi::get_memory_deallocation_function () |
PUGI__FN bool | get_mutable_buffer (char_t *&out_buffer, size_t &out_length, const void *contents, size_t size, bool is_mutable) |
PUGI__FN strconv_attribute_t | get_strconv_attribute (unsigned int optmask) |
PUGI__FN strconv_pcdata_t | get_strconv_pcdata (unsigned int optmask) |
PUGI__FN size_t | get_valid_length (const char_t *data, size_t length) |
PUGI__FN bool | get_value_bool (const char_t *value) |
PUGI__FN double | get_value_double (const char_t *value) |
PUGI__FN float | get_value_float (const char_t *value) |
PUGI__FN int | get_value_int (const char_t *value) |
PUGI__FN unsigned int | get_value_uint (const char_t *value) |
PUGI__FN bool | get_variable_scratch (char_t(&buffer)[32], xpath_variable_set *set, const char_t *begin, const char_t *end, xpath_variable **out_result) |
PUGI__FN xml_encoding | get_wchar_encoding () |
PUGI__FN xml_encoding | get_write_encoding (xml_encoding encoding) |
PUGI__FN xml_encoding | get_write_native_encoding () |
PUGI__FN xml_encoding | guess_buffer_encoding (const uint8_t *data, size_t size) |
PUGI__FN bool | has_declaration (xml_node_struct *node) |
PUGI__FN PUGI__UNSIGNED_OVERFLOW unsigned int | hash_string (const char_t *str) |
void | insert_attribute_after (xml_attribute_struct *attr, xml_attribute_struct *place, xml_node_struct *node) |
void | insert_attribute_before (xml_attribute_struct *attr, xml_attribute_struct *place, xml_node_struct *node) |
void | insert_node_after (xml_node_struct *child, xml_node_struct *node) |
void | insert_node_before (xml_node_struct *child, xml_node_struct *node) |
template<typename T , typename Pred > | |
void | insertion_sort (T *begin, T *end, const Pred &pred) |
template<typename U > | |
PUGI__FN PUGI__UNSIGNED_OVERFLOW char_t * | integer_to_string (char_t *begin, char_t *end, U value, bool negative) |
PUGI__FN bool | is_attribute_of (xml_attribute_struct *attr, xml_node_struct *node) |
PUGI__FN bool | is_little_endian () |
PUGI__FN bool | is_nan (double value) |
bool | is_text_node (xml_node_struct *node) |
bool | is_xpath_attribute (const char_t *name) |
PUGI__FN xml_parse_result | load_buffer_impl (xml_document_struct *doc, xml_node_struct *root, void *contents, size_t size, unsigned int options, xml_encoding encoding, bool is_mutable, bool own, char_t **out_buffer) |
PUGI__FN xml_parse_result | load_file_impl (xml_document_struct *doc, FILE *file, unsigned int options, xml_encoding encoding, char_t **out_buffer) |
template<typename T > | |
PUGI__FN xml_parse_status | load_stream_data_noseek (std::basic_istream< T > &stream, void **out_buffer, size_t *out_size) |
template<typename T > | |
PUGI__FN xml_parse_status | load_stream_data_seek (std::basic_istream< T > &stream, void **out_buffer, size_t *out_size) |
template<typename T > | |
PUGI__FN xml_parse_result | load_stream_impl (xml_document_struct *doc, std::basic_istream< T > &stream, unsigned int options, xml_encoding encoding, char_t **out_buffer) |
PUGI__FN const char_t * | local_name (const xpath_node &node) |
xml_parse_result | make_parse_result (xml_parse_status status, ptrdiff_t offset=0) |
template<typename I , typename Pred > | |
I | median3 (I first, I middle, I last, const Pred &pred) |
template<typename I , typename Pred > | |
I | min_element (I begin, I end, const Pred &pred) |
PUGI__FN const char_t * | namespace_uri (xml_node node) |
PUGI__FN const char_t * | namespace_uri (xml_attribute attr, xml_node parent) |
PUGI__FN const char_t * | namespace_uri (const xpath_node &node) |
template<typename T > | |
PUGI__FN T * | new_xpath_variable (const char_t *name) |
PUGI__FN xpath_variable * | new_xpath_variable (xpath_value_type type, const char_t *name) |
PUGI__FN void | node_copy_attribute (xml_attribute_struct *da, xml_attribute_struct *sa) |
PUGI__FN void | node_copy_contents (xml_node_struct *dn, xml_node_struct *sn, xml_allocator *shared_alloc) |
template<typename String , typename Header > | |
PUGI__FN void | node_copy_string (String &dest, Header &header, uintptr_t header_mask, char_t *source, Header &source_header, xml_allocator *alloc) |
PUGI__FN void | node_copy_tree (xml_node_struct *dn, xml_node_struct *sn) |
PUGI__FN bool | node_is_ancestor (xml_node_struct *parent, xml_node_struct *node) |
PUGI__FN bool | node_is_before (xml_node_struct *ln, xml_node_struct *rn) |
PUGI__FN bool | node_is_before_sibling (xml_node_struct *ln, xml_node_struct *rn) |
PUGI__FN void | node_output (xml_buffered_writer &writer, xml_node_struct *root, const char_t *indent, unsigned int flags, unsigned int depth) |
PUGI__FN void | node_output_attributes (xml_buffered_writer &writer, xml_node_struct *node, const char_t *indent, size_t indent_length, unsigned int flags, unsigned int depth) |
PUGI__FN void | node_output_comment (xml_buffered_writer &writer, const char_t *s) |
PUGI__FN void | node_output_end (xml_buffered_writer &writer, xml_node_struct *node) |
PUGI__FN void | node_output_pi_value (xml_buffered_writer &writer, const char_t *s) |
PUGI__FN void | node_output_simple (xml_buffered_writer &writer, xml_node_struct *node, unsigned int flags) |
PUGI__FN bool | node_output_start (xml_buffered_writer &writer, xml_node_struct *node, const char_t *indent, size_t indent_length, unsigned int flags, unsigned int depth) |
PUGI__FN char_t * | normalize_space (char_t *buffer) |
PUGI__FN FILE * | open_file_wide (const wchar_t *path, const wchar_t *mode) |
PUGI__FN bool | parse_declaration_encoding (const uint8_t *data, size_t size, const uint8_t *&out_encoding, size_t &out_length) |
template<typename T , typename Pred > | |
void | partition3 (T *begin, T *end, T pivot, const Pred &pred, T **out_eqbeg, T **out_eqend) |
void | prepend_attribute (xml_attribute_struct *attr, xml_node_struct *node) |
void | prepend_node (xml_node_struct *child, xml_node_struct *node) |
PUGI__FN const char_t * | qualified_name (const xpath_node &node) |
void | remove_attribute (xml_attribute_struct *attr, xml_node_struct *node) |
void | remove_node (xml_node_struct *node) |
template<typename I > | |
void | reverse (I begin, I end) |
PUGI__FN double | round_nearest (double value) |
PUGI__FN double | round_nearest_nzero (double value) |
PUGI__FN bool | save_file_impl (const xml_document &doc, FILE *file, const char_t *indent, unsigned int flags, xml_encoding encoding) |
PUGI__FN void PUGIXML_FUNCTION | pugi::set_memory_management_functions (allocation_function allocate, deallocation_function deallocate) |
template<typename String , typename Header > | |
PUGI__FN bool | set_value_ascii (String &dest, Header &header, uintptr_t header_mask, char *buf) |
template<typename String , typename Header > | |
PUGI__FN bool | set_value_bool (String &dest, Header &header, uintptr_t header_mask, bool value) |
template<typename String , typename Header > | |
PUGI__FN bool | set_value_convert (String &dest, Header &header, uintptr_t header_mask, float value) |
template<typename String , typename Header > | |
PUGI__FN bool | set_value_convert (String &dest, Header &header, uintptr_t header_mask, double value) |
template<typename U , typename String , typename Header > | |
PUGI__FN bool | set_value_integer (String &dest, Header &header, uintptr_t header_mask, U value, bool negative) |
template<typename I , typename Pred > | |
void | sort (I begin, I end, const Pred &pred) |
PUGI__NS_END PUGI__NS_BEGIN PUGI__FN bool | starts_with (const char_t *string, const char_t *pattern) |
PUGI__FN char_t * | strconv_cdata (char_t *s, char_t endch) |
PUGI__FN char_t * | strconv_comment (char_t *s, char_t endch) |
PUGI__FN char_t * | strconv_escape (char_t *s, gap &g) |
template<typename String , typename Header > | |
PUGI__FN bool | strcpy_insitu (String &dest, Header &header, uintptr_t header_mask, const char_t *source, size_t source_length) |
template<typename Header > | |
bool | strcpy_insitu_allow (size_t length, const Header &header, uintptr_t header_mask, char_t *target) |
PUGI__FN bool | strequal (const char_t *src, const char_t *dst) |
PUGI__FN bool | strequalrange (const char_t *lhs, const char_t *rhs, size_t count) |
template<typename U > | |
PUGI__FN PUGI__UNSIGNED_OVERFLOW U | string_to_integer (const char_t *value, U minv, U maxv) |
PUGI__FN xpath_string | string_value (const xpath_node &na, xpath_allocator *alloc) |
PUGI__NS_END PUGI__NS_BEGIN PUGI__FN size_t | strlength (const char_t *s) |
PUGI__FN size_t | strlength_wide (const wchar_t *s) |
template<typename T > | |
void | swap (T &lhs, T &rhs) |
PUGI__FN void | text_output (xml_buffered_writer &writer, const char_t *s, chartypex_t type, unsigned int flags) |
PUGI__FN void | text_output_cdata (xml_buffered_writer &writer, const char_t *s) |
PUGI__FN void | text_output_escaped (xml_buffered_writer &writer, const char_t *s, chartypex_t type) |
PUGI__FN void | text_output_indent (xml_buffered_writer &writer, const char_t *indent, size_t indent_length, unsigned int depth) |
PUGI__FN char_t | tolower_ascii (char_t ch) |
PUGI__FN char_t * | translate (char_t *buffer, const char_t *from, const char_t *to, size_t to_length) |
PUGI__FN char_t * | translate_table (char_t *buffer, const unsigned char *table) |
PUGI__FN unsigned char * | translate_table_generate (xpath_allocator *alloc, const char_t *from, const char_t *to) |
PUGI__FN void | truncate_zeros (char *begin, char *end) |
template<typename I > | |
I | unique (I begin, I end) |
static PUGI__FN void | pugi::unspecified_bool_xml_attribute (xml_attribute ***) |
static PUGI__FN void | pugi::unspecified_bool_xml_node (xml_node ***) |
static PUGI__FN void | pugi::unspecified_bool_xml_text (xml_text ***) |
static PUGI__FN void | pugi::unspecified_bool_xpath_node (xpath_node ***) |
static PUGI__FN void | pugi::unspecified_bool_xpath_query (xpath_query ***) |
PUGI__FN xpath_node | xpath_first (const xpath_node *begin, const xpath_node *end, xpath_node_set::type_t type) |
PUGI__NS_END PUGI__NS_BEGIN PUGI__FN xpath_node_set::type_t | xpath_get_order (const xpath_node *begin, const xpath_node *end) |
PUGI__FN xpath_node_set::type_t | xpath_sort (xpath_node *begin, xpath_node *end, xpath_node_set::type_t type, bool rev) |
PUGI__FN size_t | zero_terminate_buffer (void *buffer, size_t size, xml_encoding encoding) |
#define PUGI__CHECK_ERROR | ( | err, | |
m | |||
) | { if (*s == 0) PUGI__THROW_ERROR(err, m); } |
Definition at line 2603 of file pugixml.cpp.
Referenced by xml_parser::parse_exclamation(), and xml_parser::parse_question().
#define PUGI__DMC_VOLATILE |
Definition at line 112 of file pugixml.cpp.
Referenced by translate().
#define PUGI__ENDSEG | ( | ) | { ch = *s; *s = 0; ++s; } |
Definition at line 2601 of file pugixml.cpp.
Referenced by xml_parser::parse_question(), and xml_parser::parse_tree().
#define PUGI__ENDSWITH | ( | c, | |
e | |||
) | ((c) == (e) || ((c) == 0 && endch == (e))) |
Definition at line 2593 of file pugixml.cpp.
Referenced by xml_parser::parse_exclamation(), xml_parser::parse_question(), xml_parser::parse_tree(), strconv_cdata(), and strconv_comment().
#define PUGI__FN |
Definition at line 168 of file pugixml.cpp.
Referenced by pugi::xpath_node_set::_assign(), pugi::xml_document::_destroy(), xml_allocator::allocate_memory_oob(), pugi::xml_attribute::as_bool(), pugi::xml_text::as_bool(), convert_buffer_output_generic(), pugi::xml_text::data(), pugi::get_memory_deallocation_function(), get_mutable_buffer(), get_value_bool(), load_stream_impl(), pugi::xml_node::offset_debug(), pugi::xpath_node::operator!=(), pugi::xml_attribute::operator=(), pugi::xml_text::operator=(), pugi::xpath_variable_set::operator=(), pugi::xpath_node_set::operator=(), wchar_decoder::process(), pugi::xml_text::set(), pugi::xml_attribute::set_value(), truncate_zeros(), pugi::xml_document::~xml_document(), and pugi::xpath_query::~xpath_query().
#define PUGI__FN_NO_INLINE PUGI__NO_INLINE |
Definition at line 169 of file pugixml.cpp.
Referenced by xml_allocator::allocate_memory_oob(), and auto_deleter< T >::release().
#define PUGI__GETHEADER_IMPL | ( | object, | |
page, | |||
flags | |||
) | (((reinterpret_cast<char*>(object) - reinterpret_cast<char*>(page)) << 8) | (flags)) |
Definition at line 454 of file pugixml.cpp.
Referenced by pugi::xml_attribute_struct::xml_attribute_struct(), and pugi::xml_node_struct::xml_node_struct().
#define PUGI__GETPAGE | ( | n | ) | PUGI__GETPAGE_IMPL((n)->header) |
Definition at line 459 of file pugixml.cpp.
Referenced by pugi::xml_document::_destroy(), destroy_attribute(), destroy_node(), get_allocator(), and get_document().
#define PUGI__GETPAGE_IMPL | ( | header | ) | static_cast<impl::xml_memory_page*>(const_cast<void*>(static_cast<const void*>(reinterpret_cast<const char*>(&header) - (header >> 8)))) |
Definition at line 456 of file pugixml.cpp.
Referenced by strcpy_insitu().
#define PUGI__IS_CHARTYPE | ( | c, | |
ct | |||
) | PUGI__IS_CHARTYPE_IMPL(c, ct, chartype_table) |
Definition at line 1904 of file pugixml.cpp.
Referenced by check_string_to_number_format(), xpath_lexer::next(), normalize_space(), strconv_pcdata_impl< opt_trim, opt_eol, opt_escape >::parse(), parse_declaration_encoding(), strconv_attribute_impl< opt_escape >::parse_eol(), xml_parser::parse_exclamation(), xpath_parser::parse_path_or_unary_expression(), xml_parser::parse_question(), strconv_attribute_impl< opt_escape >::parse_simple(), xml_parser::parse_tree(), strconv_attribute_impl< opt_escape >::parse_wconv(), strconv_attribute_impl< opt_escape >::parse_wnorm(), strconv_cdata(), strconv_comment(), and string_to_integer().
#define PUGI__IS_CHARTYPE_IMPL | ( | c, | |
ct, | |||
table | |||
) | (table[static_cast<unsigned char>(c)] & (ct)) |
Definition at line 1901 of file pugixml.cpp.
#define PUGI__IS_CHARTYPEX | ( | c, | |
ct | |||
) | PUGI__IS_CHARTYPE_IMPL(c, ct, chartypex_table) |
Definition at line 1905 of file pugixml.cpp.
Referenced by check_string_to_number_format(), xpath_lexer::next(), and text_output_escaped().
#define PUGI__NO_INLINE |
Definition at line 95 of file pugixml.cpp.
#define PUGI__NODETYPE | ( | n | ) | static_cast<xml_node_type>((n)->header & impl::xml_memory_page_type_mask) |
Definition at line 460 of file pugixml.cpp.
Referenced by pugi::xml_text::_data(), pugi::xml_node::child_value(), pugi::xml_document::document_element(), has_declaration(), xml_parser::has_element_node_siblings(), is_text_node(), node_copy_tree(), node_output(), node_output_simple(), xml_parser::parse_tree(), pugi::xml_node::set_name(), pugi::xml_node::set_value(), xpath_ast_node::step_push(), and pugi::xml_node::type().
#define PUGI__NS_BEGIN namespace pugi { namespace impl { namespace { |
Definition at line 165 of file pugixml.cpp.
Referenced by xml_allocator::allocate_memory_oob(), append_new_attribute(), get_document(), pugi::get_memory_deallocation_function(), get_variable_scratch(), wchar_decoder::process(), xpath_node_set_raw::push_back_grow(), auto_deleter< T >::release(), sort(), strlength_wide(), xpath_string::uses_heap(), and xpath_stack_data::~xpath_stack_data().
#define PUGI__NS_END } } } |
Definition at line 166 of file pugixml.cpp.
Referenced by xml_allocator::allocate_memory_oob(), append_new_attribute(), evaluate_node_set_prepare(), get_document(), get_variable_scratch(), wchar_decoder::process(), xpath_node_set_raw::push_back_grow(), auto_deleter< T >::release(), sort(), strlength_wide(), xpath_string::uses_heap(), name_null_sentry::~name_null_sentry(), and xpath_stack_data::~xpath_stack_data().
#define PUGI__OPTSET | ( | OPT | ) | ( optmsk & (OPT) ) |
Definition at line 2595 of file pugixml.cpp.
Referenced by xml_parser::parse(), xml_parser::parse_exclamation(), xml_parser::parse_question(), and xml_parser::parse_tree().
#define PUGI__POPNODE | ( | ) | { cursor = cursor->parent; } |
Definition at line 2597 of file pugixml.cpp.
Referenced by xml_parser::parse_question(), and xml_parser::parse_tree().
#define PUGI__PUSHNODE | ( | TYPE | ) | { cursor = append_new_node(cursor, *alloc, TYPE); if (!cursor) PUGI__THROW_ERROR(status_out_of_memory, s); } |
Definition at line 2596 of file pugixml.cpp.
Referenced by xml_parser::parse_exclamation(), xml_parser::parse_question(), and xml_parser::parse_tree().
#define PUGI__SCANCHAR | ( | ch | ) | { if (offset >= size || data[offset] != ch) return false; offset++; } |
Referenced by parse_declaration_encoding().
#define PUGI__SCANCHARTYPE | ( | ct | ) | { while (offset < size && PUGI__IS_CHARTYPE(data[offset], ct)) offset++; } |
Referenced by parse_declaration_encoding().
#define PUGI__SCANFOR | ( | X | ) | { while (*s != 0 && !(X)) ++s; } |
Definition at line 2598 of file pugixml.cpp.
Referenced by xml_parser::parse_doctype_primitive(), xml_parser::parse_exclamation(), xml_parser::parse_question(), and xml_parser::parse_tree().
#define PUGI__SCANWHILE | ( | X | ) | { while (X) ++s; } |
Definition at line 2599 of file pugixml.cpp.
Referenced by xml_parser::parse_question().
#define PUGI__SCANWHILE_UNROLL | ( | X | ) | { for (;;) { char_t ss = s[0]; if (PUGI__UNLIKELY(!(X))) { break; } ss = s[1]; if (PUGI__UNLIKELY(!(X))) { s += 1; break; } ss = s[2]; if (PUGI__UNLIKELY(!(X))) { s += 2; break; } ss = s[3]; if (PUGI__UNLIKELY(!(X))) { s += 3; break; } s += 4; } } |
Definition at line 2600 of file pugixml.cpp.
Referenced by strconv_pcdata_impl< opt_trim, opt_eol, opt_escape >::parse(), strconv_attribute_impl< opt_escape >::parse_eol(), strconv_attribute_impl< opt_escape >::parse_simple(), xml_parser::parse_tree(), strconv_attribute_impl< opt_escape >::parse_wconv(), strconv_attribute_impl< opt_escape >::parse_wnorm(), strconv_cdata(), strconv_comment(), and text_output_escaped().
#define PUGI__SKIPWS | ( | ) | { while (PUGI__IS_CHARTYPE(*s, ct_space)) ++s; } |
Definition at line 2594 of file pugixml.cpp.
Referenced by xml_parser::parse_question(), and xml_parser::parse_tree().
#define PUGI__SNPRINTF sprintf |
Definition at line 151 of file pugixml.cpp.
Referenced by convert_number_to_mantissa_exponent(), and set_value_convert().
#define PUGI__STATIC_ASSERT | ( | cond | ) | { static const char condition_failed[(cond) ? 1 : -1] = {0}; (void)condition_failed[0]; } |
Definition at line 106 of file pugixml.cpp.
Referenced by pugi::xml_document::_create(), xml_allocator::allocate_memory_oob(), xml_allocator::allocate_string(), convert_buffer_output_generic(), gen_nan(), get_strconv_attribute(), get_strconv_pcdata(), get_wchar_encoding(), string_to_integer(), and xml_buffered_writer::xml_buffered_writer().
#define PUGI__THROW_ERROR | ( | err, | |
m | |||
) | return error_offset = m, error_status = err, static_cast<char_t*>(0) |
Definition at line 2602 of file pugixml.cpp.
Referenced by xml_parser::parse_doctype_group(), xml_parser::parse_doctype_ignore(), xml_parser::parse_doctype_primitive(), xml_parser::parse_exclamation(), xml_parser::parse_question(), and xml_parser::parse_tree().
#define PUGI__UNLIKELY | ( | cond | ) | (cond) |
Definition at line 102 of file pugixml.cpp.
Referenced by xml_allocator::allocate_memory(), and xml_allocator::allocate_memory_oob().
#define PUGI__UNSIGNED_OVERFLOW |
Definition at line 123 of file pugixml.cpp.
Referenced by auto_deleter< T >::release().
#define SOURCE_PUGIXML_CPP |
This library is distributed under the MIT License. See notice at the end of this file.
This work is based on the pugxml parser, which is: Copyright (C) 2003, by Kristen Wegner (krist) en@t ima.n et
Definition at line 15 of file pugixml.cpp.
typedef char_t*(* strconv_attribute_t) (char_t *, char_t) |
Definition at line 2732 of file pugixml.cpp.
typedef char_t*(* strconv_pcdata_t) (char_t *) |
Definition at line 2661 of file pugixml.cpp.
typedef wchar_selector<sizeof(wchar_t)>::counter wchar_counter |
Definition at line 1809 of file pugixml.cpp.
typedef wchar_selector<sizeof(wchar_t)>::writer wchar_writer |
Definition at line 1810 of file pugixml.cpp.
typedef xml_memory_management_function_storage<int> xml_memory |
Definition at line 212 of file pugixml.cpp.
enum ast_type_t |
Definition at line 9263 of file pugixml.cpp.
enum axis_t |
Definition at line 9328 of file pugixml.cpp.
enum chartype_t |
Enumerator | |
---|---|
ct_parse_pcdata | |
ct_parse_attr | |
ct_parse_attr_ws | |
ct_space | |
ct_parse_cdata | |
ct_parse_comment | |
ct_symbol | |
ct_start_symbol |
Definition at line 1834 of file pugixml.cpp.
enum chartypex_t |
Enumerator | |
---|---|
ctx_special_pcdata | |
ctx_special_attr | |
ctx_start_symbol | |
ctx_digit | |
ctx_symbol |
Definition at line 1867 of file pugixml.cpp.
enum indent_flags_t |
Enumerator | |
---|---|
indent_newline | |
indent_indent |
Definition at line 4224 of file pugixml.cpp.
enum lexeme_t |
Definition at line 8909 of file pugixml.cpp.
enum nodeset_eval_t |
Enumerator | |
---|---|
nodeset_eval_all | |
nodeset_eval_any | |
nodeset_eval_first |
Definition at line 9366 of file pugixml.cpp.
enum nodetest_t |
Enumerator | |
---|---|
nodetest_none | |
nodetest_name | |
nodetest_type_node | |
nodetest_type_comment | |
nodetest_type_pi | |
nodetest_type_text | |
nodetest_pi | |
nodetest_all | |
nodetest_all_in_namespace |
Definition at line 9345 of file pugixml.cpp.
enum predicate_t |
Enumerator | |
---|---|
predicate_default | |
predicate_posinv | |
predicate_constant | |
predicate_constant_one |
Definition at line 9358 of file pugixml.cpp.
|
inline |
Definition at line 1179 of file pugixml.cpp.
References xml_allocator::allocate_object().
Referenced by pugi::xml_node::append_attribute(), pugi::xml_node::append_copy(), append_new_attribute(), pugi::xml_node::insert_attribute_after(), pugi::xml_node::insert_attribute_before(), pugi::xml_node::insert_copy_after(), pugi::xml_node::insert_copy_before(), pugi::xml_node::prepend_attribute(), and pugi::xml_node::prepend_copy().
|
inline |
Definition at line 1188 of file pugixml.cpp.
References xml_allocator::allocate_object().
Referenced by pugi::xml_node::append_child(), pugi::xml_node::append_copy(), append_new_node(), pugi::xml_node::insert_child_after(), pugi::xml_node::insert_child_before(), pugi::xml_node::insert_copy_after(), pugi::xml_node::insert_copy_before(), pugi::xml_node::prepend_child(), and pugi::xml_node::prepend_copy().
PUGI__FN bool allow_insert_attribute | ( | xml_node_type | parent | ) |
Definition at line 4345 of file pugixml.cpp.
References pugi::node_declaration, and pugi::node_element.
Referenced by pugi::xml_node::append_attribute(), pugi::xml_node::append_copy(), pugi::xml_node::insert_attribute_after(), pugi::xml_node::insert_attribute_before(), pugi::xml_node::insert_copy_after(), pugi::xml_node::insert_copy_before(), pugi::xml_node::prepend_attribute(), and pugi::xml_node::prepend_copy().
PUGI__FN bool allow_insert_child | ( | xml_node_type | parent, |
xml_node_type | child | ||
) |
Definition at line 4350 of file pugixml.cpp.
References pugi::node_declaration, pugi::node_doctype, pugi::node_document, pugi::node_element, and pugi::node_null.
Referenced by allow_move(), pugi::xml_node::append_buffer(), pugi::xml_node::append_child(), pugi::xml_node::append_copy(), pugi::xml_node::insert_child_after(), pugi::xml_node::insert_child_before(), pugi::xml_node::insert_copy_after(), pugi::xml_node::insert_copy_before(), pugi::xml_node::prepend_child(), and pugi::xml_node::prepend_copy().
PUGI__FN bool allow_move | ( | xml_node | parent, |
xml_node | child | ||
) |
Definition at line 4359 of file pugixml.cpp.
References allow_insert_child().
Referenced by pugi::xml_node::append_move(), pugi::xml_node::insert_move_after(), pugi::xml_node::insert_move_before(), and pugi::xml_node::prepend_move().
|
inline |
Definition at line 1329 of file pugixml.cpp.
Referenced by pugi::xml_node::append_attribute(), pugi::xml_node::append_copy(), and append_new_attribute().
PUGI__FN_NO_INLINE xml_attribute_struct* append_new_attribute | ( | xml_node_struct * | node, |
xml_allocator & | alloc | ||
) |
Definition at line 1416 of file pugixml.cpp.
References allocate_attribute(), append_attribute(), PUGI__NS_BEGIN, PUGI__NS_END, and xml_allocator::reserve().
Referenced by node_copy_contents(), and xml_parser::parse_tree().
PUGI__FN_NO_INLINE xml_node_struct* append_new_node | ( | xml_node_struct * | node, |
xml_allocator & | alloc, | ||
xml_node_type | type = node_element |
||
) |
Definition at line 1404 of file pugixml.cpp.
References allocate_node(), append_node(), and xml_allocator::reserve().
Referenced by node_copy_tree().
|
inline |
Definition at line 1237 of file pugixml.cpp.
Referenced by pugi::xml_node::append_child(), pugi::xml_node::append_copy(), pugi::xml_node::append_move(), and append_new_node().
PUGI__FN size_t as_utf8_begin | ( | const wchar_t * | str, |
size_t | length | ||
) |
Definition at line 2286 of file pugixml.cpp.
References wchar_decoder::process().
Referenced by as_utf8_impl(), and convert_path_heap().
PUGI__FN void as_utf8_end | ( | char * | buffer, |
size_t | size, | ||
const wchar_t * | str, | ||
size_t | length | ||
) |
Definition at line 2292 of file pugixml.cpp.
References wchar_decoder::process().
Referenced by as_utf8_impl(), and convert_path_heap().
PUGI__FN std::string as_utf8_impl | ( | const wchar_t * | str, |
size_t | length | ||
) |
Definition at line 2304 of file pugixml.cpp.
References as_utf8_begin(), and as_utf8_end().
Referenced by pugi::as_utf8().
PUGI__FN std::basic_string<wchar_t> as_wide_impl | ( | const char * | str, |
size_t | size | ||
) |
Definition at line 2319 of file pugixml.cpp.
References utf8_decoder::process().
Referenced by pugi::as_wide().
PUGI__FN bool check_string_to_number_format | ( | const char_t * | string | ) |
Definition at line 8255 of file pugixml.cpp.
References ct_space, ctx_digit, PUGI__IS_CHARTYPE, and PUGI__IS_CHARTYPEX.
Referenced by convert_string_to_number().
PUGI__FN void close_file | ( | FILE * | file | ) |
Definition at line 4811 of file pugixml.cpp.
Referenced by pugi::xml_document::load_file(), and pugi::xml_document::save_file().
PUGI__FN bool convert_buffer | ( | char_t *& | out_buffer, |
size_t & | out_length, | ||
xml_encoding | encoding, | ||
const void * | contents, | ||
size_t | size, | ||
bool | is_mutable | ||
) |
Definition at line 2251 of file pugixml.cpp.
References convert_buffer_generic(), convert_buffer_latin1(), pugi::encoding_latin1, pugi::encoding_utf16_be, pugi::encoding_utf16_le, pugi::encoding_utf32_be, pugi::encoding_utf32_le, pugi::encoding_utf8, get_mutable_buffer(), and is_little_endian().
Referenced by get_mutable_buffer(), and load_buffer_impl().
PUGI__FN bool convert_buffer_generic | ( | char_t *& | out_buffer, |
size_t & | out_length, | ||
const void * | contents, | ||
size_t | size, | ||
D | |||
) |
Definition at line 2180 of file pugixml.cpp.
References xml_memory_management_function_storage< T >::allocate.
Referenced by convert_buffer(), and get_mutable_buffer().
PUGI__FN bool convert_buffer_latin1 | ( | char_t *& | out_buffer, |
size_t & | out_length, | ||
const void * | contents, | ||
size_t | size, | ||
bool | is_mutable | ||
) |
Definition at line 2214 of file pugixml.cpp.
References xml_memory_management_function_storage< T >::allocate, get_latin1_7bit_prefix_length(), get_mutable_buffer(), and latin1_decoder::process().
Referenced by convert_buffer().
PUGI__FN size_t convert_buffer_output | ( | char_t * | , |
uint8_t * | r_u8, | ||
uint16_t * | r_u16, | ||
uint32_t * | r_u32, | ||
const char_t * | data, | ||
size_t | length, | ||
xml_encoding | encoding | ||
) |
Definition at line 3674 of file pugixml.cpp.
References convert_buffer_output_generic(), pugi::encoding_latin1, pugi::encoding_utf16_be, pugi::encoding_utf16_le, pugi::encoding_utf32_be, pugi::encoding_utf32_le, and is_little_endian().
Referenced by convert_buffer_output_generic(), and xml_buffered_writer::flush().
PUGI__FN size_t convert_buffer_output_generic | ( | typename T::value_type | dest, |
const char_t * | data, | ||
size_t | length, | ||
D | , | ||
T | |||
) |
Definition at line 3587 of file pugixml.cpp.
References PUGI__STATIC_ASSERT.
Referenced by convert_buffer_output(), and convert_buffer_output_generic().
PUGI__FN size_t convert_buffer_output_generic | ( | typename T::value_type | dest, |
const char_t * | data, | ||
size_t | length, | ||
D | , | ||
T | , | ||
bool | opt_swap | ||
) |
Definition at line 3596 of file pugixml.cpp.
References convert_buffer_output(), convert_buffer_output_generic(), pugi::encoding_latin1, pugi::encoding_utf16_be, pugi::encoding_utf16_le, pugi::encoding_utf32_be, pugi::encoding_utf32_le, pugi::encoding_utf8, endian_swap(), get_valid_length(), get_wchar_encoding(), is_little_endian(), PUGI__FN, and PUGI__STATIC_ASSERT.
PUGI__FN bool convert_number_to_boolean | ( | double | value | ) |
Definition at line 8131 of file pugixml.cpp.
References is_nan().
Referenced by xpath_ast_node::eval_boolean().
PUGI__FN void convert_number_to_mantissa_exponent | ( | double | value, |
char(&) | buffer[32], | ||
char ** | out_mantissa, | ||
int * | out_exponent | ||
) |
Definition at line 8159 of file pugixml.cpp.
References PUGI__SNPRINTF, and truncate_zeros().
Referenced by convert_number_to_string(), and truncate_zeros().
PUGI__FN xpath_string convert_number_to_string | ( | double | value, |
xpath_allocator * | alloc | ||
) |
Definition at line 8188 of file pugixml.cpp.
References xpath_allocator::allocate(), convert_number_to_mantissa_exponent(), convert_number_to_string_special(), xpath_string::from_const(), and xpath_string::from_heap_preallocated().
Referenced by xpath_ast_node::eval_string().
PUGI__FN const char_t* convert_number_to_string_special | ( | double | value | ) |
Definition at line 8099 of file pugixml.cpp.
References PUGIXML_TEXT, and pugi::xml_node::value().
Referenced by convert_number_to_string().
PUGI__FN char* convert_path_heap | ( | const wchar_t * | str | ) |
Definition at line 4972 of file pugixml.cpp.
References xml_memory_management_function_storage< T >::allocate, as_utf8_begin(), as_utf8_end(), and strlength_wide().
Referenced by open_file_wide().
PUGI__FN double convert_string_to_number | ( | const char_t * | string | ) |
Definition at line 8285 of file pugixml.cpp.
References check_string_to_number_format(), and gen_nan().
Referenced by xpath_ast_node::compare_eq(), xpath_ast_node::compare_rel(), convert_string_to_number_scratch(), and xpath_ast_node::eval_number().
PUGI__FN bool convert_string_to_number_scratch | ( | char_t(&) | buffer[32], |
const char_t * | begin, | ||
const char_t * | end, | ||
double * | out_result | ||
) |
Definition at line 8298 of file pugixml.cpp.
References xml_memory_management_function_storage< T >::allocate, pugi::xml_node::begin(), convert_string_to_number(), and xml_memory_management_function_storage< T >::deallocate.
Referenced by xpath_parser::parse_primary_expression().
PUGI__FN bool copy_xpath_variable | ( | xpath_variable * | lhs, |
const xpath_variable * | rhs | ||
) |
Definition at line 8665 of file pugixml.cpp.
References pugi::xpath_type_boolean, pugi::xpath_type_node_set, pugi::xpath_type_number, and pugi::xpath_type_string.
Referenced by pugi::xpath_variable_set::_clone().
PUGI__NS_BEGIN PUGI__FN void* default_allocate | ( | size_t | size | ) |
Definition at line 190 of file pugixml.cpp.
PUGI__FN void default_deallocate | ( | void * | ptr | ) |
Definition at line 195 of file pugixml.cpp.
PUGI__FN void delete_xpath_variable | ( | T * | var | ) |
Definition at line 8634 of file pugixml.cpp.
References xml_memory_management_function_storage< T >::deallocate.
Referenced by pugi::xpath_variable_set::_destroy(), and delete_xpath_variable().
PUGI__FN void delete_xpath_variable | ( | xpath_value_type | type, |
xpath_variable * | var | ||
) |
Definition at line 8640 of file pugixml.cpp.
References delete_xpath_variable(), pugi::xpath_type_boolean, pugi::xpath_type_node_set, pugi::xpath_type_number, and pugi::xpath_type_string.
|
inline |
Definition at line 1197 of file pugixml.cpp.
References xml_allocator::deallocate_memory(), xml_allocator::deallocate_string(), PUGI__GETPAGE, xml_memory_page_name_allocated_mask, and xml_memory_page_value_allocated_mask.
Referenced by destroy_node(), and pugi::xml_node::remove_attribute().
|
inline |
Definition at line 1208 of file pugixml.cpp.
References xml_allocator::deallocate_memory(), xml_allocator::deallocate_string(), destroy_attribute(), PUGI__GETPAGE, xml_memory_page_name_allocated_mask, and xml_memory_page_value_allocated_mask.
Referenced by pugi::xml_node::remove_child().
PUGI__FN const void* document_buffer_order | ( | const xpath_node & | xnode | ) |
Definition at line 7977 of file pugixml.cpp.
References get_document(), xml_memory_page_contents_shared_mask, xml_memory_page_name_allocated_or_shared_mask, and xml_memory_page_value_allocated_or_shared_mask.
Referenced by document_order_comparator::operator()().
|
inline |
Definition at line 1444 of file pugixml.cpp.
Referenced by convert_buffer_output_generic(), utf16_decoder< opt_swap >::process(), utf32_decoder< opt_swap >::process(), and wchar_decoder::process().
|
inline |
Definition at line 1449 of file pugixml.cpp.
PUGI__FN impl::xpath_ast_node* evaluate_node_set_prepare | ( | xpath_query_impl * | impl | ) |
Definition at line 11914 of file pugixml.cpp.
References PUGI__NS_END, xpath_ast_node::rettype(), xpath_query_impl::root, and pugi::xpath_type_node_set.
Referenced by pugi::xpath_query::evaluate_node(), and pugi::xpath_query::evaluate_node_set().
PUGI__FN const char_t* find_char | ( | const char_t * | s, |
char_t | c | ||
) |
Definition at line 7824 of file pugixml.cpp.
Referenced by local_name(), namespace_uri_predicate::namespace_uri_predicate(), and translate().
PUGI__FN const char_t* find_substring | ( | const char_t * | s, |
const char_t * | p | ||
) |
Definition at line 7833 of file pugixml.cpp.
Referenced by xpath_ast_node::eval_boolean(), and xpath_ast_node::eval_string().
PUGI__FN double gen_nan | ( | ) |
Definition at line 8071 of file pugixml.cpp.
References PUGI__STATIC_ASSERT.
Referenced by convert_string_to_number(), pugi::xpath_query::evaluate_number(), and pugi::xpath_variable::get_number().
|
inline |
Definition at line 1162 of file pugixml.cpp.
References PUGI__GETPAGE.
Referenced by pugi::xml_node::append_attribute(), pugi::xml_node::append_child(), pugi::xml_node::append_copy(), pugi::xml_node::append_move(), pugi::xml_node::insert_attribute_after(), pugi::xml_node::insert_attribute_before(), pugi::xml_node::insert_child_after(), pugi::xml_node::insert_child_before(), pugi::xml_node::insert_copy_after(), pugi::xml_node::insert_copy_before(), pugi::xml_node::insert_move_after(), pugi::xml_node::insert_move_before(), node_copy_attribute(), node_copy_contents(), node_copy_tree(), pugi::xml_node::prepend_attribute(), pugi::xml_node::prepend_child(), pugi::xml_node::prepend_copy(), pugi::xml_node::prepend_move(), pugi::xml_node::remove_attribute(), and pugi::xml_node::remove_child().
PUGI__FN xml_encoding get_buffer_encoding | ( | xml_encoding | encoding, |
const void * | contents, | ||
size_t | size | ||
) |
Definition at line 2026 of file pugixml.cpp.
References pugi::encoding_auto, pugi::encoding_utf16, pugi::encoding_utf16_be, pugi::encoding_utf16_le, pugi::encoding_utf32, pugi::encoding_utf32_be, pugi::encoding_utf32_le, pugi::encoding_wchar, get_wchar_encoding(), guess_buffer_encoding(), and is_little_endian().
Referenced by load_buffer_impl(), load_file_impl(), and load_stream_impl().
|
inline |
Definition at line 1169 of file pugixml.cpp.
References PUGI__GETPAGE, PUGI__NS_BEGIN, and PUGI__NS_END.
Referenced by pugi::xml_node::append_buffer(), pugi::xml_node::append_move(), document_buffer_order(), pugi::xml_node::insert_move_after(), pugi::xml_node::insert_move_before(), pugi::xml_node::offset_debug(), pugi::xml_node::prepend_move(), and pugi::xml_node::root().
PUGI__FN xml_parse_status get_file_size | ( | FILE * | file, |
size_t & | out_result | ||
) |
Definition at line 4718 of file pugixml.cpp.
References pugi::status_io_error, pugi::status_ok, and pugi::status_out_of_memory.
Referenced by load_file_impl().
PUGI__FN size_t get_latin1_7bit_prefix_length | ( | const uint8_t * | data, |
size_t | size | ||
) |
Definition at line 2205 of file pugixml.cpp.
Referenced by convert_buffer_latin1().
PUGI__FN bool get_mutable_buffer | ( | char_t *& | out_buffer, |
size_t & | out_length, | ||
const void * | contents, | ||
size_t | size, | ||
bool | is_mutable | ||
) |
Definition at line 2046 of file pugixml.cpp.
References xml_memory_management_function_storage< T >::allocate, convert_buffer(), convert_buffer_generic(), pugi::encoding_latin1, pugi::encoding_utf16_be, pugi::encoding_utf16_le, pugi::encoding_utf32_be, pugi::encoding_utf32_le, pugi::encoding_utf8, get_wchar_encoding(), is_little_endian(), and PUGI__FN.
Referenced by convert_buffer(), and convert_buffer_latin1().
PUGI__FN strconv_attribute_t get_strconv_attribute | ( | unsigned int | optmask | ) |
Definition at line 2883 of file pugixml.cpp.
References pugi::parse_eol, pugi::parse_escapes, pugi::parse_wconv_attribute, pugi::parse_wnorm_attribute, and PUGI__STATIC_ASSERT.
Referenced by xml_parser::parse_tree().
PUGI__FN strconv_pcdata_t get_strconv_pcdata | ( | unsigned int | optmask | ) |
Definition at line 2714 of file pugixml.cpp.
References pugi::parse_eol, pugi::parse_escapes, pugi::parse_trim_pcdata, and PUGI__STATIC_ASSERT.
Referenced by xml_parser::parse_tree().
PUGI__FN size_t get_valid_length | ( | const char_t * | data, |
size_t | length | ||
) |
Definition at line 3658 of file pugixml.cpp.
Referenced by convert_buffer_output_generic(), xml_buffered_writer::write_direct(), and xml_buffered_writer::write_string().
PUGI__FN bool get_value_bool | ( | const char_t * | value | ) |
Definition at line 4593 of file pugixml.cpp.
References PUGI__FN.
Referenced by pugi::xml_attribute::as_bool(), and pugi::xml_text::as_bool().
PUGI__FN double get_value_double | ( | const char_t * | value | ) |
Definition at line 4575 of file pugixml.cpp.
Referenced by pugi::xml_attribute::as_double(), and pugi::xml_text::as_double().
PUGI__FN float get_value_float | ( | const char_t * | value | ) |
Definition at line 4584 of file pugixml.cpp.
Referenced by pugi::xml_attribute::as_float(), and pugi::xml_text::as_float().
PUGI__FN int get_value_int | ( | const char_t * | value | ) |
Definition at line 4565 of file pugixml.cpp.
Referenced by pugi::xml_attribute::as_int(), and pugi::xml_text::as_int().
PUGI__FN unsigned int get_value_uint | ( | const char_t * | value | ) |
Definition at line 4570 of file pugixml.cpp.
Referenced by pugi::xml_attribute::as_uint(), and pugi::xml_text::as_uint().
PUGI__FN bool get_variable_scratch | ( | char_t(&) | buffer[32], |
xpath_variable_set * | set, | ||
const char_t * | begin, | ||
const char_t * | end, | ||
xpath_variable ** | out_result | ||
) |
Definition at line 8687 of file pugixml.cpp.
References xml_memory_management_function_storage< T >::allocate, pugi::xml_node::begin(), xml_memory_management_function_storage< T >::deallocate, PUGI__NS_BEGIN, and PUGI__NS_END.
Referenced by xpath_parser::parse_primary_expression().
PUGI__FN xml_encoding get_wchar_encoding | ( | ) |
Definition at line 1914 of file pugixml.cpp.
References pugi::encoding_utf16_be, pugi::encoding_utf16_le, pugi::encoding_utf32_be, pugi::encoding_utf32_le, is_little_endian(), and PUGI__STATIC_ASSERT.
Referenced by convert_buffer_output_generic(), get_buffer_encoding(), get_mutable_buffer(), get_write_encoding(), get_write_native_encoding(), and zero_terminate_buffer().
PUGI__FN xml_encoding get_write_encoding | ( | xml_encoding | encoding | ) |
Definition at line 3569 of file pugixml.cpp.
References pugi::encoding_auto, pugi::encoding_utf16, pugi::encoding_utf16_be, pugi::encoding_utf16_le, pugi::encoding_utf32, pugi::encoding_utf32_be, pugi::encoding_utf32_le, pugi::encoding_utf8, pugi::encoding_wchar, get_wchar_encoding(), and is_little_endian().
PUGI__FN xml_encoding get_write_native_encoding | ( | ) |
Definition at line 3560 of file pugixml.cpp.
References pugi::encoding_utf8, and get_wchar_encoding().
Referenced by xml_buffered_writer::flush(), and xml_buffered_writer::write_direct().
PUGI__FN xml_encoding guess_buffer_encoding | ( | const uint8_t * | data, |
size_t | size | ||
) |
Definition at line 1978 of file pugixml.cpp.
References pugi::encoding_latin1, pugi::encoding_utf16_be, pugi::encoding_utf16_le, pugi::encoding_utf32_be, pugi::encoding_utf32_le, pugi::encoding_utf8, and parse_declaration_encoding().
Referenced by get_buffer_encoding().
PUGI__FN bool has_declaration | ( | xml_node_struct * | node | ) |
Definition at line 4323 of file pugixml.cpp.
References pugi::node_declaration, pugi::node_element, and PUGI__NODETYPE.
Referenced by pugi::xml_document::save().
PUGI__FN PUGI__UNSIGNED_OVERFLOW unsigned int hash_string | ( | const char_t * | str | ) |
Definition at line 8578 of file pugixml.cpp.
Referenced by pugi::xpath_variable_set::_find(), and pugi::xpath_variable_set::add().
|
inline |
Definition at line 1364 of file pugixml.cpp.
Referenced by pugi::xml_node::insert_attribute_after(), and pugi::xml_node::insert_copy_after().
|
inline |
Definition at line 1376 of file pugixml.cpp.
Referenced by pugi::xml_node::insert_attribute_before(), and pugi::xml_node::insert_copy_before().
|
inline |
Definition at line 1276 of file pugixml.cpp.
Referenced by pugi::xml_node::insert_child_after(), pugi::xml_node::insert_copy_after(), and pugi::xml_node::insert_move_after().
|
inline |
Definition at line 1293 of file pugixml.cpp.
Referenced by pugi::xml_node::insert_child_before(), pugi::xml_node::insert_copy_before(), and pugi::xml_node::insert_move_before().
void insertion_sort | ( | T * | begin, |
T * | end, | ||
const Pred & | pred | ||
) |
Definition at line 7386 of file pugixml.cpp.
References pugi::xml_node::end().
Referenced by sort().
PUGI__FN PUGI__UNSIGNED_OVERFLOW char_t* integer_to_string | ( | char_t * | begin, |
char_t * | end, | ||
U | value, | ||
bool | negative | ||
) |
Definition at line 4614 of file pugixml.cpp.
Referenced by set_value_integer().
PUGI__FN bool is_attribute_of | ( | xml_attribute_struct * | attr, |
xml_node_struct * | node | ||
) |
Definition at line 4336 of file pugixml.cpp.
Referenced by pugi::xml_node::attribute(), pugi::xml_node::insert_attribute_after(), pugi::xml_node::insert_attribute_before(), pugi::xml_node::insert_copy_after(), pugi::xml_node::insert_copy_before(), and pugi::xml_node::remove_attribute().
PUGI__FN bool is_little_endian | ( | ) |
Definition at line 1907 of file pugixml.cpp.
Referenced by convert_buffer(), convert_buffer_output(), convert_buffer_output_generic(), get_buffer_encoding(), get_mutable_buffer(), get_wchar_encoding(), and get_write_encoding().
PUGI__FN bool is_nan | ( | double | value | ) |
Definition at line 8086 of file pugixml.cpp.
References pugi::xml_node::value().
Referenced by convert_number_to_boolean(), and xpath_ast_node::eval_string().
|
inline |
Definition at line 4475 of file pugixml.cpp.
References pugi::node_cdata, pugi::node_pcdata, and PUGI__NODETYPE.
Referenced by pugi::xml_text::_data(), and pugi::xml_node::child_value().
|
inline |
Definition at line 8526 of file pugixml.cpp.
References PUGIXML_TEXT, and starts_with().
Referenced by xpath_ast_node::eval_boolean(), and xpath_ast_node::step_push().
PUGI__FN xml_parse_result load_buffer_impl | ( | xml_document_struct * | doc, |
xml_node_struct * | root, | ||
void * | contents, | ||
size_t | size, | ||
unsigned int | options, | ||
xml_encoding | encoding, | ||
bool | is_mutable, | ||
bool | own, | ||
char_t ** | out_buffer | ||
) |
Definition at line 4685 of file pugixml.cpp.
References xml_document_struct::buffer, convert_buffer(), get_buffer_encoding(), make_parse_result(), pugi::status_io_error, and pugi::status_out_of_memory.
Referenced by pugi::xml_node::append_buffer(), pugi::xml_document::load_buffer(), pugi::xml_document::load_buffer_inplace(), pugi::xml_document::load_buffer_inplace_own(), load_file_impl(), and load_stream_impl().
PUGI__FN xml_parse_result load_file_impl | ( | xml_document_struct * | doc, |
FILE * | file, | ||
unsigned int | options, | ||
xml_encoding | encoding, | ||
char_t ** | out_buffer | ||
) |
Definition at line 4782 of file pugixml.cpp.
References xml_memory_management_function_storage< T >::allocate, xml_memory_management_function_storage< T >::deallocate, get_buffer_encoding(), get_file_size(), load_buffer_impl(), make_parse_result(), pugi::status_file_not_found, pugi::status_io_error, pugi::status_ok, pugi::status_out_of_memory, and zero_terminate_buffer().
Referenced by pugi::xml_document::load_file().
PUGI__FN xml_parse_status load_stream_data_noseek | ( | std::basic_istream< T > & | stream, |
void ** | out_buffer, | ||
size_t * | out_size | ||
) |
Definition at line 4850 of file pugixml.cpp.
References xml_memory_management_function_storage< T >::allocate, xml_stream_chunk< T >::create(), auto_deleter< T >::data, xml_stream_chunk< T >::data, xml_stream_chunk< T >::next, xml_stream_chunk< T >::size, pugi::status_io_error, pugi::status_ok, and pugi::status_out_of_memory.
Referenced by load_stream_impl().
PUGI__FN xml_parse_status load_stream_data_seek | ( | std::basic_istream< T > & | stream, |
void ** | out_buffer, | ||
size_t * | out_size | ||
) |
Definition at line 4904 of file pugixml.cpp.
References xml_memory_management_function_storage< T >::allocate, auto_deleter< T >::data, xml_memory_management_function_storage< T >::deallocate, auto_deleter< T >::release(), pugi::status_io_error, pugi::status_ok, and pugi::status_out_of_memory.
Referenced by load_stream_impl().
PUGI__FN xml_parse_result load_stream_impl | ( | xml_document_struct * | doc, |
std::basic_istream< T > & | stream, | ||
unsigned int | options, | ||
xml_encoding | encoding, | ||
char_t ** | out_buffer | ||
) |
Definition at line 4940 of file pugixml.cpp.
References get_buffer_encoding(), load_buffer_impl(), load_stream_data_noseek(), load_stream_data_seek(), make_parse_result(), open_file_wide(), PUGI__FN, pugi::status_io_error, pugi::status_ok, and zero_terminate_buffer().
Referenced by pugi::xml_document::load().
PUGI__FN const char_t* local_name | ( | const xpath_node & | node | ) |
Definition at line 8339 of file pugixml.cpp.
References find_char(), pugi::xml_node::name(), and qualified_name().
Referenced by xpath_ast_node::eval_string().
|
inline |
Definition at line 2909 of file pugixml.cpp.
Referenced by pugi::xml_node::append_buffer(), load_buffer_impl(), load_file_impl(), load_stream_impl(), and xml_parser::parse().
I median3 | ( | I | first, |
I | middle, | ||
I | last, | ||
const Pred & | pred | ||
) |
Definition at line 7408 of file pugixml.cpp.
References swap().
Referenced by sort().
I min_element | ( | I | begin, |
I | end, | ||
const Pred & | pred | ||
) |
Definition at line 7347 of file pugixml.cpp.
References pugi::xml_node::begin(), and pugi::xml_node::end().
Referenced by AOpenDriveActor::BuildRoutes(), and xpath_first().
PUGI__FN const char_t* namespace_uri | ( | xml_node | node | ) |
Definition at line 8370 of file pugixml.cpp.
References PUGIXML_TEXT, and pugi::xml_node::xml_node().
Referenced by xpath_ast_node::eval_string(), and namespace_uri().
PUGI__FN const char_t* namespace_uri | ( | xml_attribute | attr, |
xml_node | parent | ||
) |
Definition at line 8388 of file pugixml.cpp.
References pugi::xml_node::find_attribute(), pugi::xml_node::parent(), namespace_uri_predicate::prefix, PUGIXML_TEXT, pugi::xml_attribute::value(), and pugi::xml_node::xml_node().
PUGI__FN const char_t* namespace_uri | ( | const xpath_node & | node | ) |
Definition at line 8409 of file pugixml.cpp.
References namespace_uri().
PUGI__FN T* new_xpath_variable | ( | const char_t * | name | ) |
Definition at line 8597 of file pugixml.cpp.
References xml_memory_management_function_storage< T >::allocate, and strlength().
Referenced by pugi::xpath_variable_set::_clone(), and pugi::xpath_variable_set::add().
PUGI__FN xpath_variable* new_xpath_variable | ( | xpath_value_type | type, |
const char_t * | name | ||
) |
Definition at line 8613 of file pugixml.cpp.
References pugi::xml_node::name(), pugi::xpath_type_boolean, pugi::xpath_type_node_set, pugi::xpath_type_number, and pugi::xpath_type_string.
PUGI__FN void node_copy_attribute | ( | xml_attribute_struct * | da, |
xml_attribute_struct * | sa | ||
) |
Definition at line 4466 of file pugixml.cpp.
References get_allocator(), node_copy_string(), xml_memory_page_name_allocated_mask, and xml_memory_page_value_allocated_mask.
Referenced by pugi::xml_node::append_copy(), pugi::xml_node::insert_copy_after(), pugi::xml_node::insert_copy_before(), and pugi::xml_node::prepend_copy().
PUGI__FN void node_copy_contents | ( | xml_node_struct * | dn, |
xml_node_struct * | sn, | ||
xml_allocator * | shared_alloc | ||
) |
Definition at line 4403 of file pugixml.cpp.
References append_new_attribute(), get_allocator(), node_copy_string(), xml_memory_page_name_allocated_mask, and xml_memory_page_value_allocated_mask.
Referenced by node_copy_tree().
PUGI__FN void node_copy_string | ( | String & | dest, |
Header & | header, | ||
uintptr_t | header_mask, | ||
char_t * | source, | ||
Header & | source_header, | ||
xml_allocator * | alloc | ||
) |
Definition at line 4384 of file pugixml.cpp.
References strcpy_insitu(), strlength(), and xml_memory_page_contents_shared_mask.
Referenced by node_copy_attribute(), and node_copy_contents().
PUGI__FN void node_copy_tree | ( | xml_node_struct * | dn, |
xml_node_struct * | sn | ||
) |
Definition at line 4420 of file pugixml.cpp.
References append_new_node(), get_allocator(), node_copy_contents(), and PUGI__NODETYPE.
Referenced by pugi::xml_node::append_copy(), pugi::xml_node::insert_copy_after(), pugi::xml_node::insert_copy_before(), and pugi::xml_node::prepend_copy().
PUGI__FN bool node_is_ancestor | ( | xml_node_struct * | parent, |
xml_node_struct * | node | ||
) |
Definition at line 7970 of file pugixml.cpp.
References pugi::xml_node::parent().
Referenced by xpath_ast_node::step_fill().
PUGI__FN bool node_is_before | ( | xml_node_struct * | ln, |
xml_node_struct * | rn | ||
) |
Definition at line 7927 of file pugixml.cpp.
References node_is_before_sibling().
Referenced by document_order_comparator::operator()().
PUGI__FN bool node_is_before_sibling | ( | xml_node_struct * | ln, |
xml_node_struct * | rn | ||
) |
Definition at line 7903 of file pugixml.cpp.
Referenced by node_is_before().
PUGI__FN void node_output | ( | xml_buffered_writer & | writer, |
xml_node_struct * | root, | ||
const char_t * | indent, | ||
unsigned int | flags, | ||
unsigned int | depth | ||
) |
Definition at line 4230 of file pugixml.cpp.
References pugi::format_indent, pugi::format_indent_attributes, pugi::format_raw, indent_indent, indent_newline, pugi::node_cdata, pugi::node_document, pugi::node_element, node_output_end(), node_output_simple(), node_output_start(), pugi::node_pcdata, PUGI__NODETYPE, strlength(), text_output_indent(), and xml_buffered_writer::write().
Referenced by pugi::xml_node::print(), and pugi::xml_document::save().
PUGI__FN void node_output_attributes | ( | xml_buffered_writer & | writer, |
xml_node_struct * | node, | ||
const char_t * | indent, | ||
size_t | indent_length, | ||
unsigned int | flags, | ||
unsigned int | depth | ||
) |
Definition at line 4069 of file pugixml.cpp.
References ctx_special_attr, pugi::format_indent_attributes, pugi::format_raw, PUGIXML_TEXT, text_output(), text_output_indent(), xml_buffered_writer::write(), and xml_buffered_writer::write_string().
Referenced by node_output_simple(), and node_output_start().
PUGI__FN void node_output_comment | ( | xml_buffered_writer & | writer, |
const char_t * | s | ||
) |
Definition at line 4023 of file pugixml.cpp.
References xml_buffered_writer::write(), and xml_buffered_writer::write_buffer().
Referenced by node_output_simple().
PUGI__FN void node_output_end | ( | xml_buffered_writer & | writer, |
xml_node_struct * | node | ||
) |
Definition at line 4158 of file pugixml.cpp.
References PUGIXML_TEXT, xml_buffered_writer::write(), and xml_buffered_writer::write_string().
Referenced by node_output().
PUGI__FN void node_output_pi_value | ( | xml_buffered_writer & | writer, |
const char_t * | s | ||
) |
Definition at line 4048 of file pugixml.cpp.
References xml_buffered_writer::write(), and xml_buffered_writer::write_buffer().
Referenced by node_output_simple().
PUGI__FN void node_output_simple | ( | xml_buffered_writer & | writer, |
xml_node_struct * | node, | ||
unsigned int | flags | ||
) |
Definition at line 4168 of file pugixml.cpp.
References ctx_special_pcdata, pugi::format_raw, pugi::node_cdata, pugi::node_comment, pugi::node_declaration, pugi::node_doctype, node_output_attributes(), node_output_comment(), node_output_pi_value(), pugi::node_pcdata, pugi::node_pi, PUGI__NODETYPE, PUGIXML_TEXT, text_output(), text_output_cdata(), xml_buffered_writer::write(), and xml_buffered_writer::write_string().
Referenced by node_output().
PUGI__FN bool node_output_start | ( | xml_buffered_writer & | writer, |
xml_node_struct * | node, | ||
const char_t * | indent, | ||
size_t | indent_length, | ||
unsigned int | flags, | ||
unsigned int | depth | ||
) |
Definition at line 4096 of file pugixml.cpp.
References ctx_special_pcdata, pugi::format_no_empty_element_tags, pugi::format_raw, node_output_attributes(), PUGIXML_TEXT, text_output(), xml_buffered_writer::write(), and xml_buffered_writer::write_string().
Referenced by node_output().
PUGI__FN char_t* normalize_space | ( | char_t * | buffer | ) |
Definition at line 8414 of file pugixml.cpp.
References ct_space, and PUGI__IS_CHARTYPE.
Referenced by xpath_ast_node::eval_string().
PUGI__FN FILE* open_file_wide | ( | const wchar_t * | path, |
const wchar_t * | mode | ||
) |
Definition at line 4993 of file pugixml.cpp.
References convert_path_heap(), and xml_memory_management_function_storage< T >::deallocate.
Referenced by pugi::xml_document::load_file(), load_stream_impl(), and pugi::xml_document::save_file().
PUGI__FN bool parse_declaration_encoding | ( | const uint8_t * | data, |
size_t | size, | ||
const uint8_t *& | out_encoding, | ||
size_t & | out_length | ||
) |
Definition at line 1924 of file pugixml.cpp.
References ct_space, ct_symbol, PUGI__IS_CHARTYPE, PUGI__SCANCHAR, and PUGI__SCANCHARTYPE.
Referenced by guess_buffer_encoding().
void partition3 | ( | T * | begin, |
T * | end, | ||
T | pivot, | ||
const Pred & | pred, | ||
T ** | out_eqbeg, | ||
T ** | out_eqend | ||
) |
Definition at line 7417 of file pugixml.cpp.
References pugi::xml_node::begin(), pugi::xml_node::end(), and swap().
Referenced by sort().
|
inline |
Definition at line 1348 of file pugixml.cpp.
Referenced by pugi::xml_node::prepend_attribute(), and pugi::xml_node::prepend_copy().
|
inline |
Definition at line 1258 of file pugixml.cpp.
Referenced by pugi::xml_node::prepend_child(), pugi::xml_node::prepend_copy(), and pugi::xml_node::prepend_move().
PUGI__FN const char_t* qualified_name | ( | const xpath_node & | node | ) |
Definition at line 8334 of file pugixml.cpp.
Referenced by xpath_ast_node::eval_string(), and local_name().
|
inline |
Definition at line 1388 of file pugixml.cpp.
Referenced by pugi::xml_node::remove_attribute().
|
inline |
Definition at line 1310 of file pugixml.cpp.
Referenced by pugi::xml_node::append_move(), pugi::xml_node::insert_move_after(), pugi::xml_node::insert_move_before(), pugi::xml_node::prepend_move(), and pugi::xml_node::remove_child().
void reverse | ( | I | begin, |
I | end | ||
) |
Definition at line 7358 of file pugixml.cpp.
References swap().
Referenced by carla::client::detail::Simulator::GetCurrentMap(), carla::traffic_manager::CollisionStage::GetGeodesicBoundary(), carla::traffic_manager::InMemoryMap::SetUp(), and xpath_sort().
PUGI__FN double round_nearest | ( | double | value | ) |
Definition at line 8322 of file pugixml.cpp.
Referenced by xpath_ast_node::eval_string().
PUGI__FN double round_nearest_nzero | ( | double | value | ) |
Definition at line 8327 of file pugixml.cpp.
Referenced by xpath_ast_node::eval_number().
PUGI__FN bool save_file_impl | ( | const xml_document & | doc, |
FILE * | file, | ||
const char_t * | indent, | ||
unsigned int | flags, | ||
xml_encoding | encoding | ||
) |
Definition at line 5013 of file pugixml.cpp.
Referenced by pugi::xml_document::save_file().
PUGI__FN bool set_value_ascii | ( | String & | dest, |
Header & | header, | ||
uintptr_t | header_mask, | ||
char * | buf | ||
) |
Definition at line 4636 of file pugixml.cpp.
References strcpy_insitu().
Referenced by set_value_convert().
PUGI__FN bool set_value_bool | ( | String & | dest, |
Header & | header, | ||
uintptr_t | header_mask, | ||
bool | value | ||
) |
Definition at line 4680 of file pugixml.cpp.
References PUGIXML_TEXT, and strcpy_insitu().
Referenced by pugi::xml_text::set(), and pugi::xml_attribute::set_value().
PUGI__FN bool set_value_convert | ( | String & | dest, |
Header & | header, | ||
uintptr_t | header_mask, | ||
float | value | ||
) |
Definition at line 4662 of file pugixml.cpp.
References PUGI__SNPRINTF, and set_value_ascii().
Referenced by pugi::xml_text::set(), and pugi::xml_attribute::set_value().
PUGI__FN bool set_value_convert | ( | String & | dest, |
Header & | header, | ||
uintptr_t | header_mask, | ||
double | value | ||
) |
Definition at line 4671 of file pugixml.cpp.
References PUGI__SNPRINTF, and set_value_ascii().
PUGI__FN bool set_value_integer | ( | String & | dest, |
Header & | header, | ||
uintptr_t | header_mask, | ||
U | value, | ||
bool | negative | ||
) |
Definition at line 4652 of file pugixml.cpp.
References integer_to_string(), and strcpy_insitu().
void sort | ( | I | begin, |
I | end, | ||
const Pred & | pred | ||
) |
Definition at line 7444 of file pugixml.cpp.
References pugi::xml_node::begin(), insertion_sort(), median3(), partition3(), PUGI__NS_BEGIN, and PUGI__NS_END.
Referenced by xpath_node_set_raw::remove_duplicates(), carla::road::RoadElementSet< std::unique_ptr< carla::road::element::RoadInfo > >::RoadElementSet(), FSparseHighDetailMap::SaveMap(), carla::traffic_manager::InMemoryMap::SetUp(), ADVSCamera::Simulation(), carla::traffic_manager::CollisionStage::Update(), and xpath_sort().
PUGI__NS_END PUGI__NS_BEGIN PUGI__FN bool starts_with | ( | const char_t * | string, |
const char_t * | pattern | ||
) |
Definition at line 7813 of file pugixml.cpp.
Referenced by xpath_ast_node::eval_boolean(), is_xpath_attribute(), namespace_uri_predicate::operator()(), and xpath_ast_node::step_push().
PUGI__FN char_t* strconv_cdata | ( | char_t * | s, |
char_t | endch | ||
) |
Definition at line 2633 of file pugixml.cpp.
References ct_parse_cdata, gap::flush(), PUGI__ENDSWITH, PUGI__IS_CHARTYPE, PUGI__SCANWHILE_UNROLL, and gap::push().
Referenced by xml_parser::parse_exclamation().
PUGI__FN char_t* strconv_comment | ( | char_t * | s, |
char_t | endch | ||
) |
Definition at line 2605 of file pugixml.cpp.
References ct_parse_comment, gap::flush(), PUGI__ENDSWITH, PUGI__IS_CHARTYPE, PUGI__SCANWHILE_UNROLL, and gap::push().
Referenced by xml_parser::parse_exclamation().
Definition at line 2452 of file pugixml.cpp.
References utf8_writer::any(), and gap::push().
Referenced by strconv_pcdata_impl< opt_trim, opt_eol, opt_escape >::parse(), strconv_attribute_impl< opt_escape >::parse_eol(), strconv_attribute_impl< opt_escape >::parse_simple(), strconv_attribute_impl< opt_escape >::parse_wconv(), and strconv_attribute_impl< opt_escape >::parse_wnorm().
PUGI__FN bool strcpy_insitu | ( | String & | dest, |
Header & | header, | ||
uintptr_t | header_mask, | ||
const char_t * | source, | ||
size_t | source_length | ||
) |
Definition at line 2362 of file pugixml.cpp.
References xml_allocator::allocate_string(), xml_allocator::deallocate_string(), PUGI__GETPAGE_IMPL, xml_allocator::reserve(), and strcpy_insitu_allow().
Referenced by node_copy_string(), pugi::xml_text::set(), pugi::xml_attribute::set_name(), pugi::xml_node::set_name(), pugi::xml_attribute::set_value(), pugi::xml_node::set_value(), set_value_ascii(), set_value_bool(), and set_value_integer().
|
inline |
Definition at line 2345 of file pugixml.cpp.
References strlength(), and xml_memory_page_contents_shared_mask.
Referenced by strcpy_insitu().
PUGI__FN bool strequal | ( | const char_t * | src, |
const char_t * | dst | ||
) |
Definition at line 230 of file pugixml.cpp.
Referenced by pugi::xpath_variable_set::_find(), pugi::xpath_variable_set::add(), pugi::xml_node::attribute(), pugi::xml_node::child(), xpath_ast_node::eval_boolean(), pugi::xml_node::find_child_by_attribute(), pugi::xml_node::next_sibling(), xpath_string::operator!=(), pugi::xml_named_node_iterator::operator--(), xpath_string::operator==(), pugi::xml_node::previous_sibling(), and xpath_ast_node::step_push().
PUGI__FN bool strequalrange | ( | const char_t * | lhs, |
const char_t * | rhs, | ||
size_t | count | ||
) |
Definition at line 242 of file pugixml.cpp.
Referenced by pugi::xml_node::first_element_by_path(), namespace_uri_predicate::operator()(), and xpath_lexer_string::operator==().
PUGI__FN PUGI__UNSIGNED_OVERFLOW U string_to_integer | ( | const char_t * | value, |
U | minv, | ||
U | maxv | ||
) |
Definition at line 4483 of file pugixml.cpp.
References ct_space, PUGI__IS_CHARTYPE, and PUGI__STATIC_ASSERT.
PUGI__FN xpath_string string_value | ( | const xpath_node & | na, |
xpath_allocator * | alloc | ||
) |
Definition at line 7849 of file pugixml.cpp.
References xpath_string::append(), xpath_string::from_const(), pugi::node_cdata, pugi::node_comment, pugi::node_document, pugi::node_element, pugi::node_pcdata, pugi::node_pi, and pugi::xml_node::xml_node().
Referenced by xpath_ast_node::compare_eq(), xpath_ast_node::compare_rel(), xpath_ast_node::eval_number(), and xpath_ast_node::eval_string().
PUGI__NS_END PUGI__NS_BEGIN PUGI__FN size_t strlength | ( | const char_t * | s | ) |
Definition at line 218 of file pugixml.cpp.
Referenced by xpath_string::data(), xpath_string::length(), pugi::xml_document::load_string(), new_xpath_variable(), node_copy_string(), node_output(), pugi::xml_node::path(), pugi::xml_text::set(), pugi::xpath_variable::set(), pugi::xml_attribute::set_name(), pugi::xml_node::set_name(), pugi::xml_attribute::set_value(), pugi::xml_node::set_value(), strcpy_insitu_allow(), and xml_buffered_writer::write_string().
PUGI__FN size_t strlength_wide | ( | const wchar_t * | s | ) |
Definition at line 252 of file pugixml.cpp.
References PUGI__NS_BEGIN, and PUGI__NS_END.
Referenced by pugi::as_utf8(), and convert_path_heap().
void swap | ( | T & | lhs, |
T & | rhs | ||
) |
Definition at line 7340 of file pugixml.cpp.
Referenced by xpath_ast_node::compare_eq(), median3(), partition3(), reverse(), moodycamel::ProducerToken::swap(), moodycamel::ConsumerToken::swap(), moodycamel::ConcurrentQueue< T, Traits >::ImplicitProducerKVP::swap(), and moodycamel::ConcurrentQueue< carla::Buffer >::swap_internal().
PUGI__FN void text_output | ( | xml_buffered_writer & | writer, |
const char_t * | s, | ||
chartypex_t | type, | ||
unsigned int | flags | ||
) |
Definition at line 3953 of file pugixml.cpp.
References pugi::format_no_escapes, text_output_escaped(), and xml_buffered_writer::write_string().
Referenced by node_output_attributes(), node_output_simple(), and node_output_start().
PUGI__FN void text_output_cdata | ( | xml_buffered_writer & | writer, |
const char_t * | s | ||
) |
Definition at line 3961 of file pugixml.cpp.
References xml_buffered_writer::write(), and xml_buffered_writer::write_buffer().
Referenced by node_output_simple().
PUGI__FN void text_output_escaped | ( | xml_buffered_writer & | writer, |
const char_t * | s, | ||
chartypex_t | type | ||
) |
Definition at line 3912 of file pugixml.cpp.
References PUGI__IS_CHARTYPEX, PUGI__SCANWHILE_UNROLL, xml_buffered_writer::write(), and xml_buffered_writer::write_buffer().
Referenced by text_output().
PUGI__FN void text_output_indent | ( | xml_buffered_writer & | writer, |
const char_t * | indent, | ||
size_t | indent_length, | ||
unsigned int | depth | ||
) |
Definition at line 3983 of file pugixml.cpp.
References xml_buffered_writer::write(), and xml_buffered_writer::write_buffer().
Referenced by node_output(), and node_output_attributes().
PUGI__FN char_t tolower_ascii | ( | char_t | ch | ) |
Definition at line 7844 of file pugixml.cpp.
Referenced by xpath_ast_node::eval_boolean().
PUGI__FN char_t* translate | ( | char_t * | buffer, |
const char_t * | from, | ||
const char_t * | to, | ||
size_t | to_length | ||
) |
Definition at line 8442 of file pugixml.cpp.
References find_char(), and PUGI__DMC_VOLATILE.
Referenced by xpath_ast_node::eval_string().
PUGI__FN char_t* translate_table | ( | char_t * | buffer, |
const unsigned char * | table | ||
) |
Definition at line 8496 of file pugixml.cpp.
Referenced by xpath_ast_node::eval_string().
PUGI__FN unsigned char* translate_table_generate | ( | xpath_allocator * | alloc, |
const char_t * | from, | ||
const char_t * | to | ||
) |
Definition at line 8464 of file pugixml.cpp.
References xpath_allocator::allocate().
Referenced by xpath_ast_node::optimize_self().
PUGI__FN void truncate_zeros | ( | char * | begin, |
char * | end | ||
) |
Definition at line 8136 of file pugixml.cpp.
References convert_number_to_mantissa_exponent(), and PUGI__FN.
Referenced by convert_number_to_mantissa_exponent().
I unique | ( | I | begin, |
I | end | ||
) |
Definition at line 7363 of file pugixml.cpp.
References pugi::xml_node::begin().
Referenced by xpath_node_set_raw::remove_duplicates().
PUGI__FN xpath_node xpath_first | ( | const xpath_node * | begin, |
const xpath_node * | end, | ||
xpath_node_set::type_t | type | ||
) |
Definition at line 8753 of file pugixml.cpp.
References pugi::xml_node::begin(), min_element(), pugi::xpath_node_set::type_sorted, pugi::xpath_node_set::type_sorted_reverse, and pugi::xpath_node_set::type_unsorted.
Referenced by pugi::xpath_node_set::first(), and xpath_node_set_raw::first().
PUGI__NS_END PUGI__NS_BEGIN PUGI__FN xpath_node_set::type_t xpath_get_order | ( | const xpath_node * | begin, |
const xpath_node * | end | ||
) |
Definition at line 8714 of file pugixml.cpp.
References pugi::xml_node::end(), pugi::xpath_node_set::type_sorted, pugi::xpath_node_set::type_sorted_reverse, and pugi::xpath_node_set::type_unsorted.
Referenced by xpath_sort().
PUGI__FN xpath_node_set::type_t xpath_sort | ( | xpath_node * | begin, |
xpath_node * | end, | ||
xpath_node_set::type_t | type, | ||
bool | rev | ||
) |
Definition at line 8730 of file pugixml.cpp.
References reverse(), sort(), pugi::xpath_node_set::type_sorted, pugi::xpath_node_set::type_sorted_reverse, pugi::xpath_node_set::type_unsorted, and xpath_get_order().
Referenced by pugi::xpath_node_set::sort(), and xpath_node_set_raw::sort_do().
PUGI__FN size_t zero_terminate_buffer | ( | void * | buffer, |
size_t | size, | ||
xml_encoding | encoding | ||
) |
Definition at line 4758 of file pugixml.cpp.
References pugi::encoding_utf8, and get_wchar_encoding().
Referenced by load_file_impl(), and load_stream_impl().
|
static |
Definition at line 1846 of file pugixml.cpp.
|
static |
Definition at line 1876 of file pugixml.cpp.
|
static |
Definition at line 8576 of file pugixml.cpp.
Referenced by pugi::xpath_variable::get_node_set().
|
static |
Definition at line 437 of file pugixml.cpp.
Referenced by xml_allocator::allocate_memory(), xml_allocator::allocate_memory_oob(), xml_allocator::allocate_string(), xml_allocator::deallocate_string(), and auto_deleter< T >::release().
|
static |
Definition at line 441 of file pugixml.cpp.
Referenced by pugi::xml_node::append_buffer(), pugi::xml_node::append_move(), document_buffer_order(), pugi::xml_node::insert_move_after(), pugi::xml_node::insert_move_before(), node_copy_string(), pugi::xml_node::prepend_move(), and strcpy_insitu_allow().
|
static |
Definition at line 442 of file pugixml.cpp.
Referenced by destroy_attribute(), destroy_node(), node_copy_attribute(), node_copy_contents(), pugi::xml_attribute::set_name(), and pugi::xml_node::set_name().
|
static |
Definition at line 447 of file pugixml.cpp.
Referenced by document_buffer_order(), and pugi::xml_node::offset_debug().
|
static |
Definition at line 500 of file pugixml.cpp.
Referenced by pugi::xml_document::_create(), xml_allocator::allocate_memory(), xml_allocator::allocate_memory_oob(), and xml_allocator::allocate_string().
|
static |
Definition at line 444 of file pugixml.cpp.
|
static |
Definition at line 443 of file pugixml.cpp.
Referenced by destroy_attribute(), destroy_node(), node_copy_attribute(), node_copy_contents(), pugi::xml_text::set(), pugi::xml_attribute::set_value(), and pugi::xml_node::set_value().
|
static |
Definition at line 448 of file pugixml.cpp.
Referenced by document_buffer_order(), and pugi::xml_node::offset_debug().
|
static |
Definition at line 7485 of file pugixml.cpp.
|
static |
Definition at line 7477 of file pugixml.cpp.