Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
xpath_ast_node Class Reference

List of all members.

Public Member Functions

bool eval_boolean (const xpath_context &c, const xpath_stack &stack)
xpath_node_set_raw eval_node_set (const xpath_context &c, const xpath_stack &stack, nodeset_eval_t eval)
double eval_number (const xpath_context &c, const xpath_stack &stack)
xpath_string eval_string (const xpath_context &c, const xpath_stack &stack)
xpath_string eval_string_concat (const xpath_context &c, const xpath_stack &stack)
bool is_posinv_expr () const
bool is_posinv_step () const
void optimize (xpath_allocator *alloc)
void optimize_self (xpath_allocator *alloc)
xpath_value_type rettype () const
void set_next (xpath_ast_node *value)
void set_right (xpath_ast_node *value)
 xpath_ast_node (ast_type_t type, xpath_value_type rettype_, const char_t *value)
 xpath_ast_node (ast_type_t type, xpath_value_type rettype_, double value)
 xpath_ast_node (ast_type_t type, xpath_value_type rettype_, xpath_variable *value)
 xpath_ast_node (ast_type_t type, xpath_value_type rettype_, xpath_ast_node *left=0, xpath_ast_node *right=0)
 xpath_ast_node (ast_type_t type, xpath_ast_node *left, axis_t axis, nodetest_t test, const char_t *contents)
 xpath_ast_node (ast_type_t type, xpath_ast_node *left, xpath_ast_node *right, predicate_t test)

Private Member Functions

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_nodeoperator= (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, xml_node_struct *n, xpath_allocator *alloc, bool once, T)
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, const xpath_node &xn, xpath_allocator *alloc, bool once, T v)
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 &)

Static Private Member Functions

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 Attributes

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

Detailed Description

Definition at line 9136 of file pugixml.cpp.


Constructor & Destructor Documentation

xpath_ast_node::xpath_ast_node ( ast_type_t  type,
xpath_value_type  rettype_,
const char_t *  value 
) [inline]

Definition at line 9886 of file pugixml.cpp.

xpath_ast_node::xpath_ast_node ( ast_type_t  type,
xpath_value_type  rettype_,
double  value 
) [inline]

Definition at line 9893 of file pugixml.cpp.

xpath_ast_node::xpath_ast_node ( ast_type_t  type,
xpath_value_type  rettype_,
xpath_variable *  value 
) [inline]

Definition at line 9900 of file pugixml.cpp.

xpath_ast_node::xpath_ast_node ( ast_type_t  type,
xpath_value_type  rettype_,
xpath_ast_node left = 0,
xpath_ast_node right = 0 
) [inline]

Definition at line 9907 of file pugixml.cpp.

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

Definition at line 9912 of file pugixml.cpp.

xpath_ast_node::xpath_ast_node ( ast_type_t  type,
xpath_ast_node left,
xpath_ast_node right,
predicate_t  test 
) [inline]

Definition at line 9919 of file pugixml.cpp.


Member Function Documentation

void xpath_ast_node::apply_predicate ( xpath_node_set_raw ns,
size_t  first,
const xpath_stack stack,
bool  once 
) [inline, private]

Definition at line 9415 of file pugixml.cpp.

static void xpath_ast_node::apply_predicate_boolean ( xpath_node_set_raw ns,
size_t  first,
xpath_ast_node expr,
const xpath_stack stack,
bool  once 
) [inline, static, private]

Definition at line 9335 of file pugixml.cpp.

static void xpath_ast_node::apply_predicate_number ( xpath_node_set_raw ns,
size_t  first,
xpath_ast_node expr,
const xpath_stack stack,
bool  once 
) [inline, static, private]

Definition at line 9361 of file pugixml.cpp.

static void xpath_ast_node::apply_predicate_number_const ( xpath_node_set_raw ns,
size_t  first,
xpath_ast_node expr,
const xpath_stack stack 
) [inline, static, private]

Definition at line 9387 of file pugixml.cpp.

void xpath_ast_node::apply_predicates ( xpath_node_set_raw ns,
size_t  first,
const xpath_stack stack,
nodeset_eval_t  eval 
) [inline, private]

Definition at line 9429 of file pugixml.cpp.

template<class Comp >
static bool xpath_ast_node::compare_eq ( xpath_ast_node lhs,
xpath_ast_node rhs,
const xpath_context c,
const xpath_stack stack,
const Comp &  comp 
) [inline, static, private]

Definition at line 9171 of file pugixml.cpp.

template<class Comp >
static bool xpath_ast_node::compare_rel ( xpath_ast_node lhs,
xpath_ast_node rhs,
const xpath_context c,
const xpath_stack stack,
const Comp &  comp 
) [inline, static, private]

Definition at line 9264 of file pugixml.cpp.

bool xpath_ast_node::eval_boolean ( const xpath_context c,
const xpath_stack stack 
) [inline]

Definition at line 9935 of file pugixml.cpp.

xpath_node_set_raw xpath_ast_node::eval_node_set ( const xpath_context c,
const xpath_stack stack,
nodeset_eval_t  eval 
) [inline]

Definition at line 10492 of file pugixml.cpp.

double xpath_ast_node::eval_number ( const xpath_context c,
const xpath_stack stack 
) [inline]

Definition at line 10073 of file pugixml.cpp.

static bool xpath_ast_node::eval_once ( xpath_node_set::type_t  type,
nodeset_eval_t  eval 
) [inline, static, private]

Definition at line 9259 of file pugixml.cpp.

xpath_string xpath_ast_node::eval_string ( const xpath_context c,
const xpath_stack stack 
) [inline]

Definition at line 10259 of file pugixml.cpp.

xpath_string xpath_ast_node::eval_string_concat ( const xpath_context c,
const xpath_stack stack 
) [inline]

Definition at line 10210 of file pugixml.cpp.

bool xpath_ast_node::is_posinv_expr ( ) const [inline]

Definition at line 10689 of file pugixml.cpp.

bool xpath_ast_node::is_posinv_step ( ) const [inline]

Definition at line 10720 of file pugixml.cpp.

xpath_ast_node& xpath_ast_node::operator= ( const xpath_ast_node ) [private]
void xpath_ast_node::optimize ( xpath_allocator alloc) [inline]

Definition at line 10620 of file pugixml.cpp.

void xpath_ast_node::optimize_self ( xpath_allocator alloc) [inline]

Definition at line 10629 of file pugixml.cpp.

xpath_value_type xpath_ast_node::rettype ( ) const [inline]

Definition at line 10735 of file pugixml.cpp.

void xpath_ast_node::set_next ( xpath_ast_node value) [inline]

Definition at line 9925 of file pugixml.cpp.

void xpath_ast_node::set_right ( xpath_ast_node value) [inline]

Definition at line 9930 of file pugixml.cpp.

template<class T >
xpath_node_set_raw xpath_ast_node::step_do ( const xpath_context c,
const xpath_stack stack,
nodeset_eval_t  eval,
v 
) [inline, private]

Definition at line 9839 of file pugixml.cpp.

template<class T >
void xpath_ast_node::step_fill ( xpath_node_set_raw ns,
xml_node_struct *  n,
xpath_allocator alloc,
bool  once,
 
) [inline, private]

Definition at line 9554 of file pugixml.cpp.

template<class T >
void xpath_ast_node::step_fill ( xpath_node_set_raw ns,
xml_attribute_struct *  a,
xml_node_struct *  p,
xpath_allocator alloc,
bool  once,
v 
) [inline, private]

Definition at line 9747 of file pugixml.cpp.

template<class T >
void xpath_ast_node::step_fill ( xpath_node_set_raw ns,
const xpath_node &  xn,
xpath_allocator alloc,
bool  once,
v 
) [inline, private]

Definition at line 9828 of file pugixml.cpp.

bool xpath_ast_node::step_push ( xpath_node_set_raw ns,
xml_attribute_struct *  a,
xml_node_struct *  parent,
xpath_allocator alloc 
) [inline, private]

Definition at line 9439 of file pugixml.cpp.

bool xpath_ast_node::step_push ( xpath_node_set_raw ns,
xml_node_struct *  n,
xpath_allocator alloc 
) [inline, private]

Definition at line 9479 of file pugixml.cpp.


Member Data Documentation

char xpath_ast_node::_axis [private]

Definition at line 9144 of file pugixml.cpp.

union { ... } xpath_ast_node::_data [private]

Definition at line 9150 of file pugixml.cpp.

Definition at line 9152 of file pugixml.cpp.

char xpath_ast_node::_rettype [private]

Definition at line 9141 of file pugixml.cpp.

Definition at line 9151 of file pugixml.cpp.

char xpath_ast_node::_test [private]

Definition at line 9147 of file pugixml.cpp.

char xpath_ast_node::_type [private]

Definition at line 9140 of file pugixml.cpp.

const char_t* xpath_ast_node::nodetest

Definition at line 9163 of file pugixml.cpp.

Definition at line 9159 of file pugixml.cpp.

const char_t* xpath_ast_node::string

Definition at line 9157 of file pugixml.cpp.

const unsigned char* xpath_ast_node::table

Definition at line 9165 of file pugixml.cpp.

xpath_variable* xpath_ast_node::variable

Definition at line 9161 of file pugixml.cpp.


The documentation for this class was generated from the following file:


pugixml
Author(s): Jose Luis Sanchez-Lopez
autogenerated on Tue Mar 8 2016 01:00:00