Private 成员函数 | |
void | apply_predicate (xpath_node_set_raw &ns, size_t first, const xpath_stack &stack, bool once) |
void | apply_predicates (xpath_node_set_raw &ns, size_t first, const xpath_stack &stack, nodeset_eval_t eval) |
xpath_ast_node & | operator= (const xpath_ast_node &) |
template<class T > | |
xpath_node_set_raw | step_do (const xpath_context &c, const xpath_stack &stack, nodeset_eval_t eval, T v) |
template<class T > | |
void | step_fill (xpath_node_set_raw &ns, const xpath_node &xn, xpath_allocator *alloc, bool once, T v) |
template<class T > | |
void | step_fill (xpath_node_set_raw &ns, xml_attribute_struct *a, xml_node_struct *p, xpath_allocator *alloc, bool once, T v) |
template<class T > | |
void | step_fill (xpath_node_set_raw &ns, xml_node_struct *n, xpath_allocator *alloc, bool once, T) |
bool | step_push (xpath_node_set_raw &ns, xml_attribute_struct *a, xml_node_struct *parent, xpath_allocator *alloc) |
bool | step_push (xpath_node_set_raw &ns, xml_node_struct *n, xpath_allocator *alloc) |
xpath_ast_node (const xpath_ast_node &) | |
静态 Private 成员函数 | |
static void | apply_predicate_boolean (xpath_node_set_raw &ns, size_t first, xpath_ast_node *expr, const xpath_stack &stack, bool once) |
static void | apply_predicate_number (xpath_node_set_raw &ns, size_t first, xpath_ast_node *expr, const xpath_stack &stack, bool once) |
static void | apply_predicate_number_const (xpath_node_set_raw &ns, size_t first, xpath_ast_node *expr, const xpath_stack &stack) |
template<class Comp > | |
static bool | compare_eq (xpath_ast_node *lhs, xpath_ast_node *rhs, const xpath_context &c, const xpath_stack &stack, const Comp &comp) |
template<class Comp > | |
static bool | compare_rel (xpath_ast_node *lhs, xpath_ast_node *rhs, const xpath_context &c, const xpath_stack &stack, const Comp &comp) |
static bool | eval_once (xpath_node_set::type_t type, nodeset_eval_t eval) |
Private 属性 | ||
char | _axis | |
union { | ||
const char_t * nodetest | ||
double number | ||
const char_t * string | ||
const unsigned char * table | ||
xpath_variable * variable | ||
} | _data | |
xpath_ast_node * | _left | |
xpath_ast_node * | _next | |
char | _rettype | |
xpath_ast_node * | _right | |
char | _test | |
char | _type | |
在文件 pugixml.cpp 第 9380 行定义.
|
private |
|
inline |
在文件 pugixml.cpp 第 10130 行定义.
引用了 _data , 以及 ast_string_constant.
|
inline |
在文件 pugixml.cpp 第 10137 行定义.
引用了 _data , 以及 ast_number_constant.
|
inline |
在文件 pugixml.cpp 第 10144 行定义.
引用了 _data , 以及 ast_variable.
|
inline |
在文件 pugixml.cpp 第 10151 行定义.
|
inline |
在文件 pugixml.cpp 第 10156 行定义.
|
inline |
在文件 pugixml.cpp 第 10163 行定义.
引用了 ast_filter , 以及 ast_predicate.
|
inlineprivate |
在文件 pugixml.cpp 第 9659 行定义.
引用了 _right, _test, _type, apply_predicate_boolean(), apply_predicate_number(), apply_predicate_number_const(), ast_filter, ast_predicate, predicate_constant, predicate_constant_one, rettype() , 以及 xpath_node_set_raw::size().
被这些函数引用 eval_node_set().
|
inlinestaticprivate |
在文件 pugixml.cpp 第 9579 行定义.
引用了 xpath_node_set_raw::begin(), xpath_node_set_raw::end(), eval_boolean(), rettype(), xpath_node_set_raw::size() , 以及 xpath_node_set_raw::truncate().
被这些函数引用 apply_predicate().
|
inlinestaticprivate |
在文件 pugixml.cpp 第 9605 行定义.
引用了 xpath_node_set_raw::begin(), xpath_node_set_raw::end(), eval_number(), rettype(), xpath_node_set_raw::size() , 以及 xpath_node_set_raw::truncate().
被这些函数引用 apply_predicate().
|
inlinestaticprivate |
在文件 pugixml.cpp 第 9631 行定义.
引用了 xpath_node_set_raw::begin(), eval_number(), rettype(), xpath_node_set_raw::size() , 以及 xpath_node_set_raw::truncate().
被这些函数引用 apply_predicate().
|
inlineprivate |
在文件 pugixml.cpp 第 9673 行定义.
引用了 _next, _right, eval_once(), xpath_node_set_raw::size() , 以及 xpath_node_set_raw::type().
被这些函数引用 step_do().
|
inlinestaticprivate |
在文件 pugixml.cpp 第 9415 行定义.
引用了 xpath_node_set_raw::begin(), xpath_string::c_str(), convert_string_to_number(), xpath_node_set_raw::end(), eval_boolean(), eval_node_set(), eval_number(), eval_string(), nodeset_eval_all, xpath_stack::result, rettype(), string_value() , 以及 swap().
被这些函数引用 eval_boolean().
|
inlinestaticprivate |
在文件 pugixml.cpp 第 9508 行定义.
引用了 xpath_node_set_raw::begin(), xpath_string::c_str(), convert_string_to_number(), xpath_node_set_raw::end(), eval_node_set(), eval_number(), nodeset_eval_all, xpath_stack::result, rettype() , 以及 string_value().
被这些函数引用 eval_boolean().
|
inline |
在文件 pugixml.cpp 第 10179 行定义.
引用了 _data, _left, _rettype, _right, _type, ast_func_boolean, ast_func_contains, ast_func_false, ast_func_lang, ast_func_not, ast_func_starts_with, ast_func_true, ast_op_and, ast_op_equal, ast_op_greater, ast_op_greater_or_equal, ast_op_less, ast_op_less_or_equal, ast_op_not_equal, ast_op_or, ast_opt_compare_attribute, ast_string_constant, ast_variable, xpath_string::c_str(), compare_eq(), compare_rel(), convert_number_to_boolean(), xpath_string::empty(), xpath_node_set_raw::empty(), eval_boolean(), eval_node_set(), eval_number(), eval_string(), find_substring(), is_xpath_attribute(), xpath_context::n, nodeset_eval_any, nodetest, PUGIXML_TEXT, xpath_stack::result, starts_with(), strequal(), string, tolower_ascii() , 以及 variable.
被这些函数引用 apply_predicate_boolean(), compare_eq(), eval_boolean(), eval_number() , 以及 eval_string().
|
inline |
在文件 pugixml.cpp 第 10734 行定义.
引用了 _axis, _data, _left, _rettype, _right, _test, _type, xpath_node_set_raw::append(), apply_predicate(), ast_filter, ast_func_id, ast_op_union, ast_step, ast_step_root, ast_variable, 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, xpath_node_set_raw::begin(), xpath_node_set_raw::end(), eval_node_set(), eval_once(), xpath_context::n, nodeset_eval_all, nodeset_eval_first, predicate_constant_one, predicate_posinv, xpath_node_set_raw::push_back(), xpath_node_set_raw::remove_duplicates(), xpath_stack::result, xpath_node_set_raw::set_type(), xpath_node_set_raw::sort_do(), step_do(), xpath_stack::temp , 以及 xpath_node_set_raw::type().
被这些函数引用 compare_eq(), compare_rel(), eval_boolean(), eval_node_set(), eval_number(), eval_string() , 以及 step_do().
|
inline |
在文件 pugixml.cpp 第 10316 行定义.
引用了 _data, _left, _rettype, _right, _type, ast_func_ceiling, ast_func_count, ast_func_floor, ast_func_last, ast_func_number_0, ast_func_number_1, ast_func_position, ast_func_round, ast_func_string_length_0, ast_func_string_length_1, ast_func_sum, ast_number_constant, ast_op_add, ast_op_divide, ast_op_mod, ast_op_multiply, ast_op_negate, ast_op_subtract, ast_variable, xpath_node_set_raw::begin(), xpath_string::c_str(), convert_string_to_number(), xpath_node_set_raw::end(), eval_boolean(), eval_node_set(), eval_number(), eval_string(), xpath_string::length(), xpath_context::n, nodeset_eval_all, xpath_context::position, xpath_stack::result, round_nearest_nzero(), xpath_node_set_raw::size(), xpath_context::size , 以及 string_value().
被这些函数引用 apply_predicate_number(), apply_predicate_number_const(), compare_eq(), compare_rel(), eval_boolean(), eval_number() , 以及 eval_string().
|
inlinestaticprivate |
在文件 pugixml.cpp 第 9503 行定义.
引用了 nodeset_eval_all , 以及 nodeset_eval_any.
被这些函数引用 apply_predicates(), eval_node_set() , 以及 step_do().
|
inline |
在文件 pugixml.cpp 第 10494 行定义.
引用了 _data, _left, _next, _rettype, _right, _type, ast_func_concat, ast_func_local_name_0, ast_func_local_name_1, ast_func_name_0, ast_func_name_1, ast_func_namespace_uri_0, ast_func_namespace_uri_1, ast_func_normalize_space_0, ast_func_normalize_space_1, ast_func_string_0, ast_func_string_1, ast_func_substring_2, ast_func_substring_3, ast_func_substring_after, ast_func_substring_before, ast_func_translate, ast_opt_translate_table, ast_string_constant, ast_variable, xpath_string::c_str(), convert_number_to_string(), xpath_string::data(), xpath_node_set_raw::empty(), eval_boolean(), eval_node_set(), eval_number(), eval_string(), eval_string_concat(), find_substring(), xpath_node_set_raw::first(), xpath_string::from_const(), xpath_string::from_heap(), xpath_string::from_heap_preallocated(), is_nan(), xpath_string::length(), local_name(), xpath_context::n, namespace_uri(), nodeset_eval_first, normalize_space(), PUGIXML_TEXT, qualified_name(), xpath_stack::result, round_nearest(), string_value(), xpath_stack::temp, translate(), translate_table() , 以及 xpath_string::uses_heap().
被这些函数引用 compare_eq(), eval_boolean(), eval_number(), eval_string() , 以及 eval_string_concat().
|
inline |
在文件 pugixml.cpp 第 10452 行定义.
引用了 _left, _next, _right, _type, xpath_allocator::allocate(), ast_func_concat, eval_string(), xpath_string::from_heap_preallocated(), xpath_stack::result , 以及 xpath_stack::temp.
被这些函数引用 eval_string().
|
inline |
在文件 pugixml.cpp 第 10935 行定义.
引用了 _left, _next, _right, _type, ast_filter, ast_func_last, ast_func_position, ast_number_constant, ast_predicate, ast_step, ast_step_root, ast_string_constant, ast_variable , 以及 is_posinv_expr().
被这些函数引用 is_posinv_expr() , 以及 optimize_self().
|
inline |
在文件 pugixml.cpp 第 10966 行定义.
引用了 _next, _right, _type, ast_predicate, ast_step , 以及 predicate_posinv.
被这些函数引用 optimize_self().
|
private |
|
inline |
在文件 pugixml.cpp 第 10861 行定义.
引用了 _left, _next, _right, optimize() , 以及 optimize_self().
被这些函数引用 optimize().
|
inline |
在文件 pugixml.cpp 第 10875 行定义.
引用了 _axis, _data, _left, _next, _rettype, _right, _test, _type, ast_filter, ast_func_last, ast_func_position, ast_func_translate, ast_number_constant, ast_op_equal, ast_opt_compare_attribute, ast_opt_translate_table, ast_predicate, ast_step, ast_string_constant, ast_variable, axis_attribute, axis_child, axis_descendant, axis_descendant_or_self, axis_self, is_posinv_expr(), is_posinv_step(), nodetest_name, nodetest_type_node, number, predicate_constant, predicate_constant_one, predicate_default, predicate_posinv, string, table , 以及 translate_table_generate().
被这些函数引用 optimize().
|
inline |
在文件 pugixml.cpp 第 10981 行定义.
引用了 _rettype.
被这些函数引用 apply_predicate(), apply_predicate_boolean(), apply_predicate_number(), apply_predicate_number_const(), compare_eq(), compare_rel(), evaluate_node_set_prepare(), xpath_parser::parse_expression_rec(), xpath_parser::parse_filter_expression(), xpath_parser::parse_path_or_unary_expression() , 以及 xpath_parser::parse_step().
|
inline |
在文件 pugixml.cpp 第 10169 行定义.
引用了 _next.
被这些函数引用 xpath_parser::parse_primary_expression() , 以及 xpath_parser::parse_step().
|
inline |
|
inlineprivate |
在文件 pugixml.cpp 第 10083 行定义.
引用了 _left, _next, _right, _test, apply_predicates(), axis_ancestor, axis_ancestor_or_self, axis_attribute, axis_child, axis_preceding, axis_preceding_sibling, axis_self, xpath_node_set_raw::begin(), xpath_node_set_raw::end(), eval_node_set(), eval_once(), xpath_context::n, nodeset_eval_all, nodetest_name, predicate_constant_one, xpath_node_set_raw::remove_duplicates(), xpath_stack::result, xpath_node_set_raw::set_type(), xpath_node_set_raw::size(), step_fill() , 以及 xpath_node_set_raw::type().
被这些函数引用 eval_node_set().
|
inlineprivate |
在文件 pugixml.cpp 第 10072 行定义.
引用了 axis_ancestor, axis_ancestor_or_self, axis_descendant_or_self, axis_following, axis_parent, axis_preceding, axis_self , 以及 step_fill().
|
inlineprivate |
在文件 pugixml.cpp 第 9991 行定义.
引用了 _test, axis_ancestor, axis_ancestor_or_self, axis_descendant_or_self, axis_following, axis_parent, axis_preceding, axis_self, nodetest_type_node, step_fill() , 以及 step_push().
|
inlineprivate |
在文件 pugixml.cpp 第 9798 行定义.
引用了 axis_ancestor, axis_ancestor_or_self, axis_attribute, axis_child, axis_descendant, axis_descendant_or_self, axis_following, axis_following_sibling, axis_parent, axis_preceding, axis_preceding_sibling, axis_self, node_is_ancestor() , 以及 step_push().
被这些函数引用 step_do(), step_fill() , 以及 step_fill().
|
inlineprivate |
在文件 pugixml.cpp 第 9683 行定义.
引用了 _data, _test, is_xpath_attribute(), nodetest_all, nodetest_all_in_namespace, nodetest_name, nodetest_type_node, PUGIXML_TEXT, xpath_node_set_raw::push_back(), starts_with() , 以及 strequal().
被这些函数引用 step_fill() , 以及 step_fill().
|
inlineprivate |
|
private |
在文件 pugixml.cpp 第 9388 行定义.
被这些函数引用 eval_node_set() , 以及 optimize_self().
union { ... } xpath_ast_node::_data |
|
private |
在文件 pugixml.cpp 第 9394 行定义.
被这些函数引用 eval_boolean(), eval_node_set(), eval_number(), eval_string(), eval_string_concat(), is_posinv_expr(), optimize(), optimize_self() , 以及 step_do().
|
private |
在文件 pugixml.cpp 第 9396 行定义.
被这些函数引用 apply_predicates(), eval_string(), eval_string_concat(), is_posinv_expr(), is_posinv_step(), optimize(), optimize_self(), set_next() , 以及 step_do().
|
private |
在文件 pugixml.cpp 第 9385 行定义.
被这些函数引用 eval_boolean(), eval_node_set(), eval_number(), eval_string(), optimize_self() , 以及 rettype().
|
private |
|
private |
在文件 pugixml.cpp 第 9391 行定义.
被这些函数引用 apply_predicate(), eval_node_set(), optimize_self(), step_do(), step_fill(), step_push() , 以及 step_push().
|
private |
在文件 pugixml.cpp 第 9384 行定义.
被这些函数引用 apply_predicate(), eval_boolean(), eval_node_set(), eval_number(), eval_string(), eval_string_concat(), is_posinv_expr(), is_posinv_step() , 以及 optimize_self().
const char_t* xpath_ast_node::nodetest |
在文件 pugixml.cpp 第 9407 行定义.
被这些函数引用 eval_boolean().
double xpath_ast_node::number |
在文件 pugixml.cpp 第 9403 行定义.
被这些函数引用 optimize_self().
const char_t* xpath_ast_node::string |
在文件 pugixml.cpp 第 9401 行定义.
被这些函数引用 eval_boolean() , 以及 optimize_self().
const unsigned char* xpath_ast_node::table |
在文件 pugixml.cpp 第 9409 行定义.
被这些函数引用 optimize_self().
xpath_variable* xpath_ast_node::variable |
在文件 pugixml.cpp 第 9405 行定义.
被这些函数引用 eval_boolean().