CARLA
 
载入中...
搜索中...
未找到
| Public 成员函数 | 静态 Public 成员函数 | Public 属性 | 所有成员列表
xpath_parser结构体 参考
+ xpath_parser 的协作图:

struct  binary_op_t
 

Public 成员函数

void * alloc_node ()
 
xpath_ast_nodealloc_node (ast_type_t type, xpath_ast_node *left, axis_t axis, nodetest_t test, const char_t *contents)
 
xpath_ast_nodealloc_node (ast_type_t type, xpath_ast_node *left, xpath_ast_node *right, predicate_t test)
 
xpath_ast_nodealloc_node (ast_type_t type, xpath_value_type rettype, const char_t *value)
 
xpath_ast_nodealloc_node (ast_type_t type, xpath_value_type rettype, double value)
 
xpath_ast_nodealloc_node (ast_type_t type, xpath_value_type rettype, xpath_ast_node *left=0, xpath_ast_node *right=0)
 
xpath_ast_nodealloc_node (ast_type_t type, xpath_value_type rettype, xpath_variable *value)
 
const char_t * alloc_string (const xpath_lexer_string &value)
 
xpath_ast_nodeerror (const char *message)
 
xpath_ast_nodeerror_oom ()
 
xpath_ast_nodeparse ()
 
axis_t parse_axis_name (const xpath_lexer_string &name, bool &specified)
 
xpath_ast_nodeparse_expression (int limit=0)
 
xpath_ast_nodeparse_expression_rec (xpath_ast_node *lhs, int limit)
 
xpath_ast_nodeparse_filter_expression ()
 
xpath_ast_nodeparse_function (const xpath_lexer_string &name, size_t argc, xpath_ast_node *args[2])
 
xpath_ast_nodeparse_location_path ()
 
nodetest_t parse_node_test_type (const xpath_lexer_string &name)
 
xpath_ast_nodeparse_path_or_unary_expression ()
 
xpath_ast_nodeparse_primary_expression ()
 
xpath_ast_nodeparse_relative_location_path (xpath_ast_node *set)
 
xpath_ast_nodeparse_step (xpath_ast_node *set)
 
 xpath_parser (const char_t *query, xpath_variable_set *variables, xpath_allocator *alloc, xpath_parse_result *result)
 

静态 Public 成员函数

static xpath_ast_nodeparse (const char_t *query, xpath_variable_set *variables, xpath_allocator *alloc, xpath_parse_result *result)
 

Public 属性

xpath_allocator_alloc
 
xpath_lexer _lexer
 
const char_t * _query
 
xpath_parse_result * _result
 
char_t _scratch [32]
 
xpath_variable_set * _variables
 

详细描述

在文件 pugixml.cpp10987 行定义.

构造及析构函数说明

◆ xpath_parser()

xpath_parser::xpath_parser ( const char_t * query,
xpath_variable_set * variables,
xpath_allocator * alloc,
xpath_parse_result * result )
inline

在文件 pugixml.cpp11859 行定义.

成员函数说明

◆ alloc_node() [1/7]

void * xpath_parser::alloc_node ( )
inline

在文件 pugixml.cpp11015 行定义.

引用了 _alloc , 以及 xpath_allocator::allocate().

被这些函数引用 alloc_node(), alloc_node(), alloc_node(), alloc_node(), alloc_node(), alloc_node(), parse_expression_rec(), parse_filter_expression(), parse_function(), parse_location_path(), parse_path_or_unary_expression(), parse_primary_expression(), parse_relative_location_path() , 以及 parse_step().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ alloc_node() [2/7]

xpath_ast_node * xpath_parser::alloc_node ( ast_type_t type,
xpath_ast_node * left,
axis_t axis,
nodetest_t test,
const char_t * contents )
inline

在文件 pugixml.cpp11044 行定义.

引用了 alloc_node().

+ 函数调用图:

◆ alloc_node() [3/7]

xpath_ast_node * xpath_parser::alloc_node ( ast_type_t type,
xpath_ast_node * left,
xpath_ast_node * right,
predicate_t test )
inline

在文件 pugixml.cpp11050 行定义.

引用了 alloc_node().

+ 函数调用图:

◆ alloc_node() [4/7]

xpath_ast_node * xpath_parser::alloc_node ( ast_type_t type,
xpath_value_type rettype,
const char_t * value )
inline

在文件 pugixml.cpp11020 行定义.

引用了 alloc_node().

+ 函数调用图:

◆ alloc_node() [5/7]

xpath_ast_node * xpath_parser::alloc_node ( ast_type_t type,
xpath_value_type rettype,
double value )
inline

在文件 pugixml.cpp11026 行定义.

引用了 alloc_node().

+ 函数调用图:

◆ alloc_node() [6/7]

xpath_ast_node * xpath_parser::alloc_node ( ast_type_t type,
xpath_value_type rettype,
xpath_ast_node * left = 0,
xpath_ast_node * right = 0 )
inline

在文件 pugixml.cpp11038 行定义.

引用了 alloc_node().

+ 函数调用图:

◆ alloc_node() [7/7]

xpath_ast_node * xpath_parser::alloc_node ( ast_type_t type,
xpath_value_type rettype,
xpath_variable * value )
inline

在文件 pugixml.cpp11032 行定义.

引用了 alloc_node().

+ 函数调用图:

◆ alloc_string()

const char_t * xpath_parser::alloc_string ( const xpath_lexer_string & value)
inline

在文件 pugixml.cpp11056 行定义.

引用了 _alloc, xpath_allocator::allocate(), xpath_lexer_string::begin, xpath_lexer_string::end , 以及 PUGIXML_TEXT.

被这些函数引用 parse_primary_expression() , 以及 parse_step().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ error()

xpath_ast_node * xpath_parser::error ( const char * message)
inline

在文件 pugixml.cpp10999 行定义.

引用了 _lexer, _query, _result , 以及 xpath_lexer::current_pos().

被这些函数引用 parse(), parse_expression_rec(), parse_filter_expression(), parse_function(), parse_path_or_unary_expression(), parse_primary_expression() , 以及 parse_step().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ error_oom()

xpath_ast_node * xpath_parser::error_oom ( )
inline

在文件 pugixml.cpp11007 行定义.

引用了 _alloc , 以及 xpath_allocator::_error.

被这些函数引用 parse_primary_expression().

+ 这是这个函数的调用关系图:

◆ parse() [1/2]

xpath_ast_node * xpath_parser::parse ( )
inline

在文件 pugixml.cpp11863 行定义.

引用了 _lexer, xpath_lexer::current(), error(), lex_eof , 以及 parse_expression().

被这些函数引用 parse().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ parse() [2/2]

static xpath_ast_node * xpath_parser::parse ( const char_t * query,
xpath_variable_set * variables,
xpath_allocator * alloc,
xpath_parse_result * result )
inlinestatic

在文件 pugixml.cpp11875 行定义.

引用了 parse().

+ 函数调用图:

◆ parse_axis_name()

axis_t xpath_parser::parse_axis_name ( const xpath_lexer_string & name,
bool & specified )
inline

在文件 pugixml.cpp11192 行定义.

引用了 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_lexer_string::begin , 以及 PUGIXML_TEXT.

被这些函数引用 parse_step().

+ 这是这个函数的调用关系图:

◆ parse_expression()

xpath_ast_node * xpath_parser::parse_expression ( int limit = 0)
inline

在文件 pugixml.cpp11851 行定义.

引用了 parse_expression_rec() , 以及 parse_path_or_unary_expression().

被这些函数引用 parse(), parse_filter_expression(), parse_path_or_unary_expression(), parse_primary_expression() , 以及 parse_step().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ parse_expression_rec()

xpath_ast_node * xpath_parser::parse_expression_rec ( xpath_ast_node * lhs,
int limit )
inline

在文件 pugixml.cpp11800 行定义.

引用了 _lexer, alloc_node(), ast_op_union, ast_unknown, xpath_parser::binary_op_t::asttype, error(), xpath_lexer::next(), xpath_parser::binary_op_t::parse(), parse_expression_rec(), parse_path_or_unary_expression(), xpath_parser::binary_op_t::precedence, xpath_ast_node::rettype() , 以及 xpath_parser::binary_op_t::rettype.

被这些函数引用 parse_expression() , 以及 parse_expression_rec().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ parse_filter_expression()

xpath_ast_node * xpath_parser::parse_filter_expression ( )
inline

在文件 pugixml.cpp11402 行定义.

引用了 _lexer, alloc_node(), ast_filter, xpath_lexer::current(), error(), lex_close_square_brace, lex_open_square_brace, xpath_lexer::next(), parse_expression(), parse_primary_expression(), predicate_default , 以及 xpath_ast_node::rettype().

被这些函数引用 parse_path_or_unary_expression().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ parse_function()

xpath_ast_node * xpath_parser::parse_function ( const xpath_lexer_string & name,
size_t argc,
xpath_ast_node * args[2] )
inline

◆ parse_location_path()

xpath_ast_node * xpath_parser::parse_location_path ( )
inline

在文件 pugixml.cpp11628 行定义.

引用了 _lexer, alloc_node(), ast_step, ast_step_root, axis_descendant_or_self, xpath_lexer::current(), lex_axis_attribute, lex_dot, lex_double_dot, lex_double_slash, lex_multiply, lex_slash, lex_string, xpath_lexer::next(), nodetest_type_node , 以及 parse_relative_location_path().

被这些函数引用 parse_path_or_unary_expression().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ parse_node_test_type()

nodetest_t xpath_parser::parse_node_test_type ( const xpath_lexer_string & name)
inline

在文件 pugixml.cpp11260 行定义.

引用了 xpath_lexer_string::begin, nodetest_none, nodetest_type_comment, nodetest_type_node, nodetest_type_pi, nodetest_type_text , 以及 PUGIXML_TEXT.

被这些函数引用 parse_path_or_unary_expression() , 以及 parse_step().

+ 这是这个函数的调用关系图:

◆ parse_path_or_unary_expression()

xpath_ast_node * xpath_parser::parse_path_or_unary_expression ( )
inline

在文件 pugixml.cpp11668 行定义.

引用了 _lexer, alloc_node(), ast_op_negate, ast_step, axis_descendant_or_self, xpath_lexer::contents(), ct_space, xpath_lexer::current(), error(), lex_double_slash, lex_minus, lex_number, lex_open_brace, lex_quoted_string, lex_slash, lex_string, lex_var_ref, xpath_lexer::next(), nodetest_none, nodetest_type_node, parse_expression(), parse_filter_expression(), parse_location_path(), parse_node_test_type(), parse_relative_location_path(), PUGI__IS_CHARTYPE, xpath_ast_node::rettype() , 以及 xpath_lexer::state().

被这些函数引用 parse_expression() , 以及 parse_expression_rec().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ parse_primary_expression()

xpath_ast_node * xpath_parser::parse_primary_expression ( )
inline

在文件 pugixml.cpp11296 行定义.

引用了 _lexer, _scratch, _variables, alloc_node(), alloc_string(), ast_number_constant, ast_string_constant, ast_variable, xpath_lexer_string::begin, xpath_lexer::contents(), convert_string_to_number_scratch(), xpath_lexer::current(), xpath_lexer_string::end, error(), error_oom(), get_variable_scratch(), lex_close_brace, lex_comma, lex_number, lex_open_brace, lex_quoted_string, lex_string, lex_var_ref, xpath_lexer::next(), parse_expression(), parse_function() , 以及 xpath_ast_node::set_next().

被这些函数引用 parse_filter_expression().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ parse_relative_location_path()

xpath_ast_node * xpath_parser::parse_relative_location_path ( xpath_ast_node * set)
inline

在文件 pugixml.cpp11603 行定义.

引用了 _lexer, alloc_node(), ast_step, axis_descendant_or_self, xpath_lexer::current(), lex_double_slash, lex_slash, xpath_lexer::next(), nodetest_type_node , 以及 parse_step().

被这些函数引用 parse_location_path() , 以及 parse_path_or_unary_expression().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ parse_step()

xpath_ast_node * xpath_parser::parse_step ( xpath_ast_node * set)
inline

类成员变量说明

◆ _alloc

xpath_allocator* xpath_parser::_alloc

在文件 pugixml.cpp10989 行定义.

被这些函数引用 alloc_node(), alloc_string() , 以及 error_oom().

◆ _lexer

xpath_lexer xpath_parser::_lexer

◆ _query

const char_t* xpath_parser::_query

在文件 pugixml.cpp10992 行定义.

被这些函数引用 error().

◆ _result

xpath_parse_result* xpath_parser::_result

在文件 pugixml.cpp10995 行定义.

被这些函数引用 error().

◆ _scratch

char_t xpath_parser::_scratch[32]

在文件 pugixml.cpp10997 行定义.

被这些函数引用 parse_primary_expression().

◆ _variables

xpath_variable_set* xpath_parser::_variables

在文件 pugixml.cpp10993 行定义.

被这些函数引用 parse_primary_expression().


该结构体的文档由以下文件生成: