#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.
Classes | |
struct | auto_deleter< T, D > |
struct | axis_to_type< N > |
struct | xpath_parser::binary_op_t |
struct | document_order_comparator |
struct | duplicate_comparator |
struct | equal_to |
struct | gap |
struct | latin1_decoder |
struct | latin1_writer |
struct | less |
struct | less_equal |
struct | name_null_sentry |
struct | namespace_uri_predicate |
struct | not_equal_to |
struct | opt_false |
struct | opt_true |
struct | strconv_attribute_impl< opt_escape > |
struct | strconv_pcdata_impl< opt_trim, opt_eol, opt_escape > |
struct | utf16_counter |
struct | utf16_decoder< opt_swap > |
struct | utf16_writer |
struct | utf32_counter |
struct | utf32_decoder< opt_swap > |
struct | utf32_writer |
struct | utf8_counter |
struct | utf8_decoder |
struct | utf8_writer |
struct | wchar_decoder |
struct | wchar_selector< 2 > |
struct | wchar_selector< 4 > |
struct | xml_allocator |
struct | pugi::xml_attribute_struct |
class | xml_buffered_writer |
struct | xml_document_struct |
struct | xml_extra_buffer |
struct | xml_memory_management_function_storage< T > |
struct | xml_memory_page |
struct | xml_memory_string_header |
struct | pugi::xml_node_struct |
struct | xml_parser |
struct | xml_stream_chunk< T > |
class | xpath_allocator |
struct | xpath_allocator_capture |
class | xpath_ast_node |
struct | xpath_context |
class | xpath_lexer |
struct | xpath_lexer_string |
struct | xpath_memory_block |
class | xpath_node_set_raw |
struct | xpath_parser |
struct | xpath_query_impl |
struct | xpath_stack |
struct | xpath_stack_data |
class | xpath_string |
struct | xpath_variable_boolean |
struct | xpath_variable_node_set |
struct | xpath_variable_number |
struct | xpath_variable_string |
Namespaces | |
namespace | pugi |
Defines | |
#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__GETPAGE(n) PUGI__GETPAGE_IMPL((n)->header) |
#define | PUGI__GETPAGE_IMPL(header) reinterpret_cast<impl::xml_memory_page*>((header) & impl::xml_memory_page_pointer_mask) |
#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) + 1) |
#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__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__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 | SOURCE_PUGIXML_CPP |
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 |
Enumerations | |
enum | ast_type_t { ast_unknown, ast_op_or, ast_op_and, ast_op_equal, ast_op_not_equal, ast_op_less, ast_op_greater, ast_op_less_or_equal, ast_op_greater_or_equal, ast_op_add, ast_op_subtract, ast_op_multiply, ast_op_divide, ast_op_mod, ast_op_negate, ast_op_union, ast_predicate, ast_filter, ast_string_constant, ast_number_constant, ast_variable, ast_func_last, ast_func_position, ast_func_count, ast_func_id, ast_func_local_name_0, ast_func_local_name_1, ast_func_namespace_uri_0, ast_func_namespace_uri_1, ast_func_name_0, ast_func_name_1, ast_func_string_0, ast_func_string_1, ast_func_concat, ast_func_starts_with, ast_func_contains, ast_func_substring_before, ast_func_substring_after, ast_func_substring_2, ast_func_substring_3, ast_func_string_length_0, ast_func_string_length_1, ast_func_normalize_space_0, ast_func_normalize_space_1, ast_func_translate, ast_func_boolean, ast_func_not, ast_func_true, ast_func_false, ast_func_lang, ast_func_number_0, ast_func_number_1, ast_func_sum, ast_func_floor, ast_func_ceiling, ast_func_round, ast_step, ast_step_root, ast_opt_translate_table, ast_opt_compare_attribute } |
enum | axis_t { axis_ancestor, axis_ancestor_or_self, axis_attribute, axis_child, axis_descendant, axis_descendant_or_self, axis_following, axis_following_sibling, axis_namespace, axis_parent, axis_preceding, axis_preceding_sibling, axis_self } |
enum | chartype_t { ct_parse_pcdata = 1, ct_parse_attr = 2, ct_parse_attr_ws = 4, ct_space = 8, ct_parse_cdata = 16, ct_parse_comment = 32, ct_symbol = 64, ct_start_symbol = 128 } |
enum | chartypex_t { ctx_special_pcdata = 1, ctx_special_attr = 2, ctx_start_symbol = 4, ctx_digit = 8, ctx_symbol = 16 } |
enum | indent_flags_t { indent_newline = 1, indent_indent = 2 } |
enum | lexeme_t { lex_none = 0, lex_equal, lex_not_equal, lex_less, lex_greater, lex_less_or_equal, lex_greater_or_equal, lex_plus, lex_minus, lex_multiply, lex_union, lex_var_ref, lex_open_brace, lex_close_brace, lex_quoted_string, lex_number, lex_slash, lex_double_slash, lex_open_square_brace, lex_close_square_brace, lex_string, lex_comma, lex_axis_attribute, lex_dot, lex_double_dot, lex_double_colon, lex_eof } |
enum | nodeset_eval_t { nodeset_eval_all, nodeset_eval_any, nodeset_eval_first } |
enum | nodetest_t { nodetest_none, nodetest_name, nodetest_type_node, nodetest_type_comment, nodetest_type_pi, nodetest_type_text, nodetest_pi, nodetest_all, nodetest_all_in_namespace } |
enum | predicate_t { predicate_default, predicate_posinv, predicate_constant, predicate_constant_one } |
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) |
std::basic_string< char, std::char_traits< char > , std::allocator< char > > 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) |
std::basic_string< wchar_t, std::char_traits< wchar_t > , std::allocator< 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 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, size_t buffer_size, 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) |
template<typename I > | |
void | copy_backwards (I begin, I end, I target) |
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 xpath_string | evaluate_string_impl (xpath_query_impl *impl, const xpath_node &n, xpath_stack_data &sd) |
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) |
allocation_function PUGIXML_FUNCTION | pugi::get_memory_allocation_function () |
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 (uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3) |
PUGI__FN bool | has_declaration (xml_node_struct *node) |
PUGI__FN 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 I , typename Pred , typename T > | |
void | insertion_sort (I begin, I end, const Pred &pred, T *) |
template<typename U > | |
PUGI__FN 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 > | |
void | median (I first, I middle, I last, const Pred &pred) |
template<typename I , typename Pred > | |
void | 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) |
template<typename I , typename Pred > | |
void | partition (I begin, I middle, I end, const Pred &pred, I *out_eqbeg, I *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) |
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_convert (String &dest, Header &header, uintptr_t header_mask, int value) |
template<typename String , typename Header > | |
PUGI__FN bool | set_value_convert (String &dest, Header &header, uintptr_t header_mask, unsigned int 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 String , typename Header > | |
PUGI__FN bool | set_value_convert (String &dest, Header &header, uintptr_t header_mask, bool value) |
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 > | |
U | string_to_integer (const char_t *value, U minneg, U maxpos) |
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) |
Variables | |
static const unsigned char | chartype_table [256] |
static const unsigned char | chartypex_table [256] |
static const xpath_node_set | dummy_node_set |
static const uintptr_t | xml_memory_block_alignment = sizeof(void*) |
static const uintptr_t | xml_memory_page_alignment = 64 |
static const uintptr_t | xml_memory_page_contents_shared_mask = 32 |
static const uintptr_t | xml_memory_page_name_allocated_mask = 16 |
static const uintptr_t | xml_memory_page_name_allocated_or_shared_mask = xml_memory_page_name_allocated_mask | xml_memory_page_contents_shared_mask |
static const uintptr_t | xml_memory_page_pointer_mask = ~(xml_memory_page_alignment - 1) |
PUGI__NS_END static PUGI__NS_BEGIN const size_t | xml_memory_page_size |
static const uintptr_t | xml_memory_page_type_mask = 7 |
static const uintptr_t | xml_memory_page_value_allocated_mask = 8 |
static const uintptr_t | xml_memory_page_value_allocated_or_shared_mask = xml_memory_page_value_allocated_mask | xml_memory_page_contents_shared_mask |
static const uintptr_t | xpath_memory_block_alignment = sizeof(double) > sizeof(void*) ? sizeof(double) : sizeof(void*) |
PUGI__NS_END static PUGI__NS_BEGIN const size_t | xpath_memory_page_size |
#define PUGI__CHECK_ERROR | ( | err, | |
m | |||
) | { if (*s == 0) PUGI__THROW_ERROR(err, m); } |
Definition at line 2505 of file pugixml.cpp.
#define PUGI__DMC_VOLATILE |
Definition at line 102 of file pugixml.cpp.
#define PUGI__ENDSEG | ( | ) | { ch = *s; *s = 0; ++s; } |
Definition at line 2503 of file pugixml.cpp.
#define PUGI__ENDSWITH | ( | c, | |
e | |||
) | ((c) == (e) || ((c) == 0 && endch == (e))) |
Definition at line 2495 of file pugixml.cpp.
#define PUGI__FN |
Definition at line 130 of file pugixml.cpp.
#define PUGI__FN_NO_INLINE PUGI__NO_INLINE |
Definition at line 131 of file pugixml.cpp.
#define PUGI__GETPAGE | ( | n | ) | PUGI__GETPAGE_IMPL((n)->header) |
Definition at line 432 of file pugixml.cpp.
#define PUGI__GETPAGE_IMPL | ( | header | ) | reinterpret_cast<impl::xml_memory_page*>((header) & impl::xml_memory_page_pointer_mask) |
Definition at line 429 of file pugixml.cpp.
#define PUGI__IS_CHARTYPE | ( | c, | |
ct | |||
) | PUGI__IS_CHARTYPE_IMPL(c, ct, chartype_table) |
Definition at line 1879 of file pugixml.cpp.
#define PUGI__IS_CHARTYPE_IMPL | ( | c, | |
ct, | |||
table | |||
) | (table[static_cast<unsigned char>(c)] & (ct)) |
Definition at line 1876 of file pugixml.cpp.
#define PUGI__IS_CHARTYPEX | ( | c, | |
ct | |||
) | PUGI__IS_CHARTYPE_IMPL(c, ct, chartypex_table) |
Definition at line 1880 of file pugixml.cpp.
#define PUGI__NO_INLINE |
Definition at line 85 of file pugixml.cpp.
#define PUGI__NODETYPE | ( | n | ) | static_cast<xml_node_type>(((n)->header & impl::xml_memory_page_type_mask) + 1) |
Definition at line 433 of file pugixml.cpp.
#define PUGI__NS_BEGIN namespace pugi { namespace impl { namespace { |
Definition at line 127 of file pugixml.cpp.
#define PUGI__NS_END } } } |
Definition at line 128 of file pugixml.cpp.
#define PUGI__OPTSET | ( | OPT | ) | ( optmsk & (OPT) ) |
Definition at line 2497 of file pugixml.cpp.
#define PUGI__POPNODE | ( | ) | { cursor = cursor->parent; } |
Definition at line 2499 of file pugixml.cpp.
#define PUGI__PUSHNODE | ( | TYPE | ) | { cursor = append_new_node(cursor, alloc, TYPE); if (!cursor) PUGI__THROW_ERROR(status_out_of_memory, s); } |
Definition at line 2498 of file pugixml.cpp.
#define PUGI__SCANFOR | ( | X | ) | { while (*s != 0 && !(X)) ++s; } |
Definition at line 2500 of file pugixml.cpp.
#define PUGI__SCANWHILE | ( | X | ) | { while (X) ++s; } |
Definition at line 2501 of file pugixml.cpp.
#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 2502 of file pugixml.cpp.
#define PUGI__SKIPWS | ( | ) | { while (PUGI__IS_CHARTYPE(*s, ct_space)) ++s; } |
Definition at line 2496 of file pugixml.cpp.
#define PUGI__STATIC_ASSERT | ( | cond | ) | { static const char condition_failed[(cond) ? 1 : -1] = {0}; (void)condition_failed[0]; } |
Definition at line 96 of file pugixml.cpp.
#define PUGI__THROW_ERROR | ( | err, | |
m | |||
) | return error_offset = m, error_status = err, static_cast<char_t*>(0) |
Definition at line 2504 of file pugixml.cpp.
#define PUGI__UNLIKELY | ( | cond | ) | (cond) |
Definition at line 92 of file pugixml.cpp.
#define SOURCE_PUGIXML_CPP |
pugixml parser - version 1.7 -------------------------------------------------------- Copyright (C) 2006-2015, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com) Report bugs and download new versions at http://pugixml.org/
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 (kristen@tima.net)
Definition at line 15 of file pugixml.cpp.
typedef char_t*(* strconv_attribute_t)(char_t *, char_t) |
Definition at line 2634 of file pugixml.cpp.
typedef char_t*(* strconv_pcdata_t)(char_t *) |
Definition at line 2563 of file pugixml.cpp.
typedef wchar_selector<sizeof(wchar_t)>::counter wchar_counter |
Definition at line 1784 of file pugixml.cpp.
typedef wchar_selector<sizeof(wchar_t)>::writer wchar_writer |
Definition at line 1785 of file pugixml.cpp.
typedef xml_memory_management_function_storage<int> xml_memory |
Definition at line 174 of file pugixml.cpp.
enum ast_type_t |
Definition at line 9019 of file pugixml.cpp.
enum axis_t |
Definition at line 9084 of file pugixml.cpp.
enum chartype_t |
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 1809 of file pugixml.cpp.
enum chartypex_t |
Definition at line 1842 of file pugixml.cpp.
enum indent_flags_t |
Definition at line 4085 of file pugixml.cpp.
enum lexeme_t |
Definition at line 8665 of file pugixml.cpp.
enum nodeset_eval_t |
Definition at line 9122 of file pugixml.cpp.
enum nodetest_t |
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 9101 of file pugixml.cpp.
enum predicate_t |
Definition at line 9114 of file pugixml.cpp.
PUGI__NS_END PUGI__NS_BEGIN xml_attribute_struct* allocate_attribute | ( | xml_allocator & | alloc | ) | [inline] |
Definition at line 1154 of file pugixml.cpp.
xml_node_struct* allocate_node | ( | xml_allocator & | alloc, |
xml_node_type | type | ||
) | [inline] |
Definition at line 1163 of file pugixml.cpp.
PUGI__FN bool allow_insert_attribute | ( | xml_node_type | parent | ) |
Definition at line 4202 of file pugixml.cpp.
PUGI__FN bool allow_insert_child | ( | xml_node_type | parent, |
xml_node_type | child | ||
) |
Definition at line 4207 of file pugixml.cpp.
PUGI__FN bool allow_move | ( | xml_node | parent, |
xml_node | child | ||
) |
Definition at line 4216 of file pugixml.cpp.
void append_attribute | ( | xml_attribute_struct * | attr, |
xml_node_struct * | node | ||
) | [inline] |
Definition at line 1304 of file pugixml.cpp.
PUGI__FN_NO_INLINE xml_attribute_struct* append_new_attribute | ( | xml_node_struct * | node, |
xml_allocator & | alloc | ||
) |
Definition at line 1391 of file pugixml.cpp.
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 1379 of file pugixml.cpp.
void append_node | ( | xml_node_struct * | child, |
xml_node_struct * | node | ||
) | [inline] |
Definition at line 1212 of file pugixml.cpp.
PUGI__FN size_t as_utf8_begin | ( | const wchar_t * | str, |
size_t | length | ||
) |
Definition at line 2188 of file pugixml.cpp.
PUGI__FN void as_utf8_end | ( | char * | buffer, |
size_t | size, | ||
const wchar_t * | str, | ||
size_t | length | ||
) |
Definition at line 2194 of file pugixml.cpp.
PUGI__FN std::string as_utf8_impl | ( | const wchar_t * | str, |
size_t | length | ||
) |
Definition at line 2206 of file pugixml.cpp.
PUGI__FN std::basic_string<wchar_t> as_wide_impl | ( | const char * | str, |
size_t | size | ||
) |
Definition at line 2221 of file pugixml.cpp.
PUGI__FN bool check_string_to_number_format | ( | const char_t * | string | ) |
Definition at line 8009 of file pugixml.cpp.
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 2153 of file pugixml.cpp.
PUGI__FN bool convert_buffer_generic | ( | char_t *& | out_buffer, |
size_t & | out_length, | ||
const void * | contents, | ||
size_t | size, | ||
D | |||
) |
Definition at line 2082 of file pugixml.cpp.
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 2116 of file pugixml.cpp.
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 3572 of file pugixml.cpp.
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 3485 of file pugixml.cpp.
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 3494 of file pugixml.cpp.
PUGI__FN bool convert_number_to_boolean | ( | double | value | ) |
Definition at line 7883 of file pugixml.cpp.
PUGI__FN void convert_number_to_mantissa_exponent | ( | double | value, |
char * | buffer, | ||
size_t | buffer_size, | ||
char ** | out_mantissa, | ||
int * | out_exponent | ||
) |
Definition at line 7911 of file pugixml.cpp.
PUGI__FN xpath_string convert_number_to_string | ( | double | value, |
xpath_allocator * | alloc | ||
) |
Definition at line 7942 of file pugixml.cpp.
PUGI__FN const char_t* convert_number_to_string_special | ( | double | value | ) |
Definition at line 7851 of file pugixml.cpp.
PUGI__FN char* convert_path_heap | ( | const wchar_t * | str | ) |
Definition at line 4849 of file pugixml.cpp.
PUGI__FN double convert_string_to_number | ( | const char_t * | string | ) |
Definition at line 8039 of file pugixml.cpp.
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 8052 of file pugixml.cpp.
void copy_backwards | ( | I | begin, |
I | end, | ||
I | target | ||
) |
Definition at line 7068 of file pugixml.cpp.
PUGI__FN bool copy_xpath_variable | ( | xpath_variable * | lhs, |
const xpath_variable * | rhs | ||
) |
Definition at line 8421 of file pugixml.cpp.
PUGI__NS_BEGIN PUGI__FN void* default_allocate | ( | size_t | size | ) |
Definition at line 152 of file pugixml.cpp.
PUGI__FN void default_deallocate | ( | void * | ptr | ) |
Definition at line 157 of file pugixml.cpp.
PUGI__FN void delete_xpath_variable | ( | T * | var | ) |
Definition at line 8390 of file pugixml.cpp.
PUGI__FN void delete_xpath_variable | ( | xpath_value_type | type, |
xpath_variable * | var | ||
) |
Definition at line 8396 of file pugixml.cpp.
void destroy_attribute | ( | xml_attribute_struct * | a, |
xml_allocator & | alloc | ||
) | [inline] |
Definition at line 1172 of file pugixml.cpp.
void destroy_node | ( | xml_node_struct * | n, |
xml_allocator & | alloc | ||
) | [inline] |
Definition at line 1183 of file pugixml.cpp.
PUGI__FN const void* document_buffer_order | ( | const xpath_node & | xnode | ) |
Definition at line 7731 of file pugixml.cpp.
PUGI__NS_END PUGI__NS_BEGIN uint16_t endian_swap | ( | uint16_t | value | ) | [inline] |
Definition at line 1419 of file pugixml.cpp.
uint32_t endian_swap | ( | uint32_t | value | ) | [inline] |
Definition at line 1424 of file pugixml.cpp.
PUGI__FN impl::xpath_ast_node* evaluate_node_set_prepare | ( | xpath_query_impl * | impl | ) |
Definition at line 11618 of file pugixml.cpp.
PUGI__FN xpath_string evaluate_string_impl | ( | xpath_query_impl * | impl, |
const xpath_node & | n, | ||
xpath_stack_data & | sd | ||
) |
Definition at line 11605 of file pugixml.cpp.
Definition at line 7582 of file pugixml.cpp.
PUGI__FN const char_t* find_substring | ( | const char_t * | s, |
const char_t * | p | ||
) |
Definition at line 7591 of file pugixml.cpp.
Definition at line 7825 of file pugixml.cpp.
xml_allocator& get_allocator | ( | const Object * | object | ) | [inline] |
Definition at line 1137 of file pugixml.cpp.
PUGI__FN xml_encoding get_buffer_encoding | ( | xml_encoding | encoding, |
const void * | contents, | ||
size_t | size | ||
) |
Definition at line 1923 of file pugixml.cpp.
xml_document_struct& get_document | ( | const Object * | object | ) | [inline] |
Definition at line 1144 of file pugixml.cpp.
PUGI__FN xml_parse_status get_file_size | ( | FILE * | file, |
size_t & | out_result | ||
) |
Definition at line 4600 of file pugixml.cpp.
PUGI__FN size_t get_latin1_7bit_prefix_length | ( | const uint8_t * | data, |
size_t | size | ||
) |
Definition at line 2107 of file pugixml.cpp.
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 1948 of file pugixml.cpp.
PUGI__FN strconv_attribute_t get_strconv_attribute | ( | unsigned int | optmask | ) |
Definition at line 2785 of file pugixml.cpp.
PUGI__FN strconv_pcdata_t get_strconv_pcdata | ( | unsigned int | optmask | ) |
Definition at line 2616 of file pugixml.cpp.
PUGI__FN size_t get_valid_length | ( | const char_t * | data, |
size_t | length | ||
) |
Definition at line 3556 of file pugixml.cpp.
PUGI__FN bool get_value_bool | ( | const char_t * | value | ) |
Definition at line 4442 of file pugixml.cpp.
PUGI__FN double get_value_double | ( | const char_t * | value | ) |
Definition at line 4424 of file pugixml.cpp.
PUGI__FN float get_value_float | ( | const char_t * | value | ) |
Definition at line 4433 of file pugixml.cpp.
PUGI__FN int get_value_int | ( | const char_t * | value | ) |
Definition at line 4414 of file pugixml.cpp.
PUGI__FN unsigned int get_value_uint | ( | const char_t * | value | ) |
Definition at line 4419 of file pugixml.cpp.
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 8443 of file pugixml.cpp.
PUGI__FN xml_encoding get_wchar_encoding | ( | ) |
Definition at line 1889 of file pugixml.cpp.
PUGI__FN xml_encoding get_write_encoding | ( | xml_encoding | encoding | ) |
Definition at line 3467 of file pugixml.cpp.
PUGI__FN xml_encoding get_write_native_encoding | ( | ) |
Definition at line 3458 of file pugixml.cpp.
PUGI__FN xml_encoding guess_buffer_encoding | ( | uint8_t | d0, |
uint8_t | d1, | ||
uint8_t | d2, | ||
uint8_t | d3 | ||
) |
Definition at line 1899 of file pugixml.cpp.
PUGI__FN bool has_declaration | ( | xml_node_struct * | node | ) |
Definition at line 4180 of file pugixml.cpp.
PUGI__FN unsigned int hash_string | ( | const char_t * | str | ) |
Definition at line 8334 of file pugixml.cpp.
void insert_attribute_after | ( | xml_attribute_struct * | attr, |
xml_attribute_struct * | place, | ||
xml_node_struct * | node | ||
) | [inline] |
Definition at line 1339 of file pugixml.cpp.
void insert_attribute_before | ( | xml_attribute_struct * | attr, |
xml_attribute_struct * | place, | ||
xml_node_struct * | node | ||
) | [inline] |
Definition at line 1351 of file pugixml.cpp.
void insert_node_after | ( | xml_node_struct * | child, |
xml_node_struct * | node | ||
) | [inline] |
Definition at line 1251 of file pugixml.cpp.
void insert_node_before | ( | xml_node_struct * | child, |
xml_node_struct * | node | ||
) | [inline] |
Definition at line 1268 of file pugixml.cpp.
void insertion_sort | ( | I | begin, |
I | end, | ||
const Pred & | pred, | ||
T * | |||
) |
Definition at line 7073 of file pugixml.cpp.
PUGI__FN char_t* integer_to_string | ( | char_t * | begin, |
char_t * | end, | ||
U | value, | ||
bool | negative | ||
) |
Definition at line 4464 of file pugixml.cpp.
PUGI__FN bool is_attribute_of | ( | xml_attribute_struct * | attr, |
xml_node_struct * | node | ||
) |
Definition at line 4193 of file pugixml.cpp.
PUGI__FN bool is_little_endian | ( | ) |
Definition at line 1882 of file pugixml.cpp.
Definition at line 7838 of file pugixml.cpp.
bool is_text_node | ( | xml_node_struct * | node | ) | [inline] |
Definition at line 4331 of file pugixml.cpp.
bool is_xpath_attribute | ( | const char_t * | name | ) | [inline] |
Definition at line 8282 of file pugixml.cpp.
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 4567 of file pugixml.cpp.
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 4664 of file pugixml.cpp.
PUGI__FN xml_parse_status load_stream_data_noseek | ( | std::basic_istream< T > & | stream, |
void ** | out_buffer, | ||
size_t * | out_size | ||
) |
Definition at line 4727 of file pugixml.cpp.
PUGI__FN xml_parse_status load_stream_data_seek | ( | std::basic_istream< T > & | stream, |
void ** | out_buffer, | ||
size_t * | out_size | ||
) |
Definition at line 4781 of file pugixml.cpp.
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 4817 of file pugixml.cpp.
PUGI__FN const char_t* local_name | ( | const xpath_node & | node | ) |
Definition at line 8093 of file pugixml.cpp.
xml_parse_result make_parse_result | ( | xml_parse_status | status, |
ptrdiff_t | offset = 0 |
||
) | [inline] |
Definition at line 2811 of file pugixml.cpp.
void median | ( | I | first, |
I | middle, | ||
I | last, | ||
const Pred & | pred | ||
) |
Definition at line 7165 of file pugixml.cpp.
void median3 | ( | I | first, |
I | middle, | ||
I | last, | ||
const Pred & | pred | ||
) |
Definition at line 7158 of file pugixml.cpp.
I min_element | ( | I | begin, |
I | end, | ||
const Pred & | pred | ||
) |
Definition at line 7029 of file pugixml.cpp.
PUGI__FN const char_t* namespace_uri | ( | xml_node | node | ) |
Definition at line 8124 of file pugixml.cpp.
PUGI__FN const char_t* namespace_uri | ( | xml_attribute | attr, |
xml_node | parent | ||
) |
Definition at line 8142 of file pugixml.cpp.
PUGI__FN const char_t* namespace_uri | ( | const xpath_node & | node | ) |
Definition at line 8163 of file pugixml.cpp.
PUGI__FN T* new_xpath_variable | ( | const char_t * | name | ) |
Definition at line 8353 of file pugixml.cpp.
PUGI__FN xpath_variable* new_xpath_variable | ( | xpath_value_type | type, |
const char_t * | name | ||
) |
Definition at line 8369 of file pugixml.cpp.
PUGI__FN void node_copy_attribute | ( | xml_attribute_struct * | da, |
xml_attribute_struct * | sa | ||
) |
Definition at line 4322 of file pugixml.cpp.
PUGI__FN void node_copy_contents | ( | xml_node_struct * | dn, |
xml_node_struct * | sn, | ||
xml_allocator * | shared_alloc | ||
) |
Definition at line 4260 of file pugixml.cpp.
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 4241 of file pugixml.cpp.
PUGI__FN void node_copy_tree | ( | xml_node_struct * | dn, |
xml_node_struct * | sn | ||
) |
Definition at line 4277 of file pugixml.cpp.
PUGI__FN bool node_is_ancestor | ( | xml_node_struct * | parent, |
xml_node_struct * | node | ||
) |
Definition at line 7724 of file pugixml.cpp.
PUGI__FN bool node_is_before | ( | xml_node_struct * | ln, |
xml_node_struct * | rn | ||
) |
Definition at line 7681 of file pugixml.cpp.
PUGI__FN bool node_is_before_sibling | ( | xml_node_struct * | ln, |
xml_node_struct * | rn | ||
) |
Definition at line 7657 of file pugixml.cpp.
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 4091 of file pugixml.cpp.
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 3967 of file pugixml.cpp.
PUGI__FN void node_output_comment | ( | xml_buffered_writer & | writer, |
const char_t * | s | ||
) |
Definition at line 3921 of file pugixml.cpp.
PUGI__FN void node_output_end | ( | xml_buffered_writer & | writer, |
xml_node_struct * | node | ||
) |
Definition at line 4019 of file pugixml.cpp.
PUGI__FN void node_output_pi_value | ( | xml_buffered_writer & | writer, |
const char_t * | s | ||
) |
Definition at line 3946 of file pugixml.cpp.
PUGI__FN void node_output_simple | ( | xml_buffered_writer & | writer, |
xml_node_struct * | node, | ||
unsigned int | flags | ||
) |
Definition at line 4029 of file pugixml.cpp.
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 3994 of file pugixml.cpp.
PUGI__FN char_t* normalize_space | ( | char_t * | buffer | ) |
Definition at line 8168 of file pugixml.cpp.
PUGI__FN FILE* open_file_wide | ( | const wchar_t * | path, |
const wchar_t * | mode | ||
) |
Definition at line 4870 of file pugixml.cpp.
void partition | ( | I | begin, |
I | middle, | ||
I | end, | ||
const Pred & | pred, | ||
I * | out_eqbeg, | ||
I * | out_eqend | ||
) |
Definition at line 7105 of file pugixml.cpp.
void prepend_attribute | ( | xml_attribute_struct * | attr, |
xml_node_struct * | node | ||
) | [inline] |
Definition at line 1323 of file pugixml.cpp.
void prepend_node | ( | xml_node_struct * | child, |
xml_node_struct * | node | ||
) | [inline] |
Definition at line 1233 of file pugixml.cpp.
PUGI__FN const char_t* qualified_name | ( | const xpath_node & | node | ) |
Definition at line 8088 of file pugixml.cpp.
void remove_attribute | ( | xml_attribute_struct * | attr, |
xml_node_struct * | node | ||
) | [inline] |
Definition at line 1363 of file pugixml.cpp.
void remove_node | ( | xml_node_struct * | node | ) | [inline] |
Definition at line 1285 of file pugixml.cpp.
void reverse | ( | I | begin, |
I | end | ||
) |
Definition at line 7040 of file pugixml.cpp.
PUGI__FN double round_nearest | ( | double | value | ) |
Definition at line 8076 of file pugixml.cpp.
PUGI__FN double round_nearest_nzero | ( | double | value | ) |
Definition at line 8081 of file pugixml.cpp.
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 4890 of file pugixml.cpp.
PUGI__FN bool set_value_ascii | ( | String & | dest, |
Header & | header, | ||
uintptr_t | header_mask, | ||
char * | buf | ||
) |
Definition at line 4486 of file pugixml.cpp.
PUGI__FN bool set_value_convert | ( | String & | dest, |
Header & | header, | ||
uintptr_t | header_mask, | ||
int | value | ||
) |
Definition at line 4502 of file pugixml.cpp.
PUGI__FN bool set_value_convert | ( | String & | dest, |
Header & | header, | ||
uintptr_t | header_mask, | ||
unsigned int | value | ||
) |
Definition at line 4512 of file pugixml.cpp.
PUGI__FN bool set_value_convert | ( | String & | dest, |
Header & | header, | ||
uintptr_t | header_mask, | ||
float | value | ||
) |
Definition at line 4522 of file pugixml.cpp.
PUGI__FN bool set_value_convert | ( | String & | dest, |
Header & | header, | ||
uintptr_t | header_mask, | ||
double | value | ||
) |
Definition at line 4531 of file pugixml.cpp.
PUGI__FN bool set_value_convert | ( | String & | dest, |
Header & | header, | ||
uintptr_t | header_mask, | ||
bool | value | ||
) |
Definition at line 4540 of file pugixml.cpp.
void sort | ( | I | begin, |
I | end, | ||
const Pred & | pred | ||
) |
Definition at line 7184 of file pugixml.cpp.
PUGI__NS_END PUGI__NS_BEGIN PUGI__FN bool starts_with | ( | const char_t * | string, |
const char_t * | pattern | ||
) |
Definition at line 7571 of file pugixml.cpp.
PUGI__FN char_t* strconv_cdata | ( | char_t * | s, |
char_t | endch | ||
) |
Definition at line 2535 of file pugixml.cpp.
PUGI__FN char_t* strconv_comment | ( | char_t * | s, |
char_t | endch | ||
) |
Definition at line 2507 of file pugixml.cpp.
PUGI__FN char_t* strconv_escape | ( | char_t * | s, |
gap & | g | ||
) |
Definition at line 2354 of file pugixml.cpp.
PUGI__FN bool strcpy_insitu | ( | String & | dest, |
Header & | header, | ||
uintptr_t | header_mask, | ||
const char_t * | source, | ||
size_t | source_length | ||
) |
Definition at line 2264 of file pugixml.cpp.
bool strcpy_insitu_allow | ( | size_t | length, |
const Header & | header, | ||
uintptr_t | header_mask, | ||
char_t * | target | ||
) | [inline] |
Definition at line 2247 of file pugixml.cpp.
Definition at line 192 of file pugixml.cpp.
PUGI__FN bool strequalrange | ( | const char_t * | lhs, |
const char_t * | rhs, | ||
size_t | count | ||
) |
Definition at line 204 of file pugixml.cpp.
U string_to_integer | ( | const char_t * | value, |
U | minneg, | ||
U | maxpos | ||
) |
Definition at line 4339 of file pugixml.cpp.
PUGI__FN xpath_string string_value | ( | const xpath_node & | na, |
xpath_allocator * | alloc | ||
) |
Definition at line 7607 of file pugixml.cpp.
PUGI__NS_END PUGI__NS_BEGIN PUGI__FN size_t strlength | ( | const char_t * | s | ) |
Definition at line 180 of file pugixml.cpp.
PUGI__FN size_t strlength_wide | ( | const wchar_t * | s | ) |
Definition at line 214 of file pugixml.cpp.
void swap | ( | T & | lhs, |
T & | rhs | ||
) |
Definition at line 7022 of file pugixml.cpp.
PUGI__FN void text_output | ( | xml_buffered_writer & | writer, |
const char_t * | s, | ||
chartypex_t | type, | ||
unsigned int | flags | ||
) |
Definition at line 3851 of file pugixml.cpp.
PUGI__FN void text_output_cdata | ( | xml_buffered_writer & | writer, |
const char_t * | s | ||
) |
Definition at line 3859 of file pugixml.cpp.
PUGI__FN void text_output_escaped | ( | xml_buffered_writer & | writer, |
const char_t * | s, | ||
chartypex_t | type | ||
) |
Definition at line 3810 of file pugixml.cpp.
PUGI__FN void text_output_indent | ( | xml_buffered_writer & | writer, |
const char_t * | indent, | ||
size_t | indent_length, | ||
unsigned int | depth | ||
) |
Definition at line 3881 of file pugixml.cpp.
PUGI__FN char_t tolower_ascii | ( | char_t | ch | ) |
Definition at line 7602 of file pugixml.cpp.
PUGI__FN char_t* translate | ( | char_t * | buffer, |
const char_t * | from, | ||
const char_t * | to, | ||
size_t | to_length | ||
) |
Definition at line 8196 of file pugixml.cpp.
PUGI__FN char_t* translate_table | ( | char_t * | buffer, |
const unsigned char * | table | ||
) |
Definition at line 8252 of file pugixml.cpp.
PUGI__FN unsigned char* translate_table_generate | ( | xpath_allocator * | alloc, |
const char_t * | from, | ||
const char_t * | to | ||
) |
Definition at line 8218 of file pugixml.cpp.
PUGI__FN void truncate_zeros | ( | char * | begin, |
char * | end | ||
) |
Definition at line 7888 of file pugixml.cpp.
I unique | ( | I | begin, |
I | end | ||
) |
Definition at line 7045 of file pugixml.cpp.
PUGI__FN xpath_node xpath_first | ( | const xpath_node * | begin, |
const xpath_node * | end, | ||
xpath_node_set::type_t | type | ||
) |
Definition at line 8509 of file pugixml.cpp.
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 8470 of file pugixml.cpp.
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 8486 of file pugixml.cpp.
PUGI__FN size_t zero_terminate_buffer | ( | void * | buffer, |
size_t | size, | ||
xml_encoding | encoding | ||
) |
Definition at line 4640 of file pugixml.cpp.
const unsigned char chartype_table[256] [static] |
{ 55, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 6, 0, 0, 0, 7, 6, 0, 0, 0, 0, 0, 96, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 192, 0, 1, 0, 48, 0, 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 0, 16, 0, 192, 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 0, 0, 0, 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192 }
Definition at line 1821 of file pugixml.cpp.
const unsigned char chartypex_table[256] [static] |
{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 2, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 16, 16, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 3, 0, 3, 0, 0, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 20, 0, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 }
Definition at line 1851 of file pugixml.cpp.
const xpath_node_set dummy_node_set [static] |
Definition at line 8332 of file pugixml.cpp.
const uintptr_t xml_memory_block_alignment = sizeof(void*) [static] |
Definition at line 410 of file pugixml.cpp.
const uintptr_t xml_memory_page_alignment = 64 [static] |
Definition at line 412 of file pugixml.cpp.
const uintptr_t xml_memory_page_contents_shared_mask = 32 [static] |
Definition at line 417 of file pugixml.cpp.
const uintptr_t xml_memory_page_name_allocated_mask = 16 [static] |
Definition at line 418 of file pugixml.cpp.
const uintptr_t xml_memory_page_name_allocated_or_shared_mask = xml_memory_page_name_allocated_mask | xml_memory_page_contents_shared_mask [static] |
Definition at line 423 of file pugixml.cpp.
const uintptr_t xml_memory_page_pointer_mask = ~(xml_memory_page_alignment - 1) [static] |
Definition at line 413 of file pugixml.cpp.
PUGI__NS_END static PUGI__NS_BEGIN const size_t xml_memory_page_size [static] |
32768
Definition at line 397 of file pugixml.cpp.
const uintptr_t xml_memory_page_type_mask = 7 [static] |
Definition at line 420 of file pugixml.cpp.
const uintptr_t xml_memory_page_value_allocated_mask = 8 [static] |
Definition at line 419 of file pugixml.cpp.
const uintptr_t xml_memory_page_value_allocated_or_shared_mask = xml_memory_page_value_allocated_mask | xml_memory_page_contents_shared_mask [static] |
Definition at line 424 of file pugixml.cpp.
const uintptr_t xpath_memory_block_alignment = sizeof(double) > sizeof(void*) ? sizeof(double) : sizeof(void*) [static] |
Definition at line 7225 of file pugixml.cpp.
PUGI__NS_END static PUGI__NS_BEGIN const size_t xpath_memory_page_size [static] |
4096
Definition at line 7217 of file pugixml.cpp.