Zigbee Protocol Controller 1.6.0
|
The attribute path evaluator evalues a full attribute path and returns the matching attribute store attribute for that attribute path. More...
#include <attribute_mapper_ast_path_eval.hpp>
Public Member Functions | |
attribute_path_eval (const attribute_store::attribute context) | |
Construct a new attribute path eval object. More... | |
attribute_store::attribute | operator() (const ast::operand &oper) |
Evaluates numbers and expressions into attributes. More... | |
attribute_store::attribute | operator() (const nil &nul) |
hat operator ^ (parent) More... | |
attribute_store::attribute | operator() (const attribute_store_type_t type_id) |
just given by type More... | |
attribute_store::attribute | operator() (const attribute_path_subscript &subscript) const |
Subscript operator. More... | |
attribute_store::attribute | operator() (const std::vector< attribute_path_element > &paths) |
parse a path list return the last successfull evaluated attribute More... | |
bool | all_elements_parsed () const |
bool | last_token_failed () const |
attribute_store_type_t | last_fail_type () const |
size_t | get_depth (const std::vector< attribute_path_element > &paths) const |
Private Attributes | |
attribute_store_type_t | last_type_id = 0 |
int | elements_left = 0 |
attribute_store::attribute | context = 0 |
The attribute path evaluator evalues a full attribute path and returns the matching attribute store attribute for that attribute path.
The evaluation is done in the context context.
|
inlineexplicit |
Construct a new attribute path eval object.
context | parent on the attribute store |
|
inline |
Return true if the path has been fully resolved
size_t ast::attribute_path_eval::get_depth | ( | const std::vector< attribute_path_element > & | paths | ) | const |
Return the depth of the path, ie the number ofr path elemnts
|
inline |
get the type is of the last element that was attempted to be parsed
|
inline |
return true if all but the last path elements has been resolved
attribute_store::attribute ast::attribute_path_eval::operator() | ( | const ast::operand & | oper | ) |
Evaluates numbers and expressions into attributes.
attribute_store::attribute ast::attribute_path_eval::operator() | ( | const attribute_path_subscript & | subscript | ) | const |
Subscript operator.
attribute_store::attribute ast::attribute_path_eval::operator() | ( | const attribute_store_type_t | type_id | ) |
just given by type
attribute_store::attribute ast::attribute_path_eval::operator() | ( | const nil & | nul | ) |
hat operator ^ (parent)
attribute_store::attribute ast::attribute_path_eval::operator() | ( | const std::vector< attribute_path_element > & | paths | ) |
parse a path list return the last successfull evaluated attribute
|
private |
|
private |
|
private |