22#ifndef ATTRIBUTE_MAPPER_AST_PATH_EVAL_HPP
23#define ATTRIBUTE_MAPPER_AST_PATH_EVAL_HPP
28#include <boost/optional.hpp>
39struct attribute_path_subscript;
71 attribute_store::attribute
76 const std::vector<attribute_path_element> &paths);
105 size_t get_depth(
const std::vector<attribute_path_element> &paths)
const;
attribute store C++ wrapper.
Definition: attribute_mapper_ast.hpp:39
x3::variant< ast::nil, uint32_t, float, x3::forward_ast< attribute >, x3::forward_ast< signed_ >, x3::forward_ast< expression >, x3::forward_ast< condition >, x3::forward_ast< function_invokation > > operand
Operands.
Definition: attribute_mapper_ast.hpp:95
The attribute path evaluator evalues a full attribute path and returns the matching attribute store a...
Definition: attribute_mapper_ast_path_eval.hpp:51
attribute_store::attribute operator()(const ast::operand &oper)
Evaluates numbers and expressions into attributes.
attribute_store::attribute operator()(const std::vector< attribute_path_element > &paths)
parse a path list return the last successfull evaluated attribute
bool last_token_failed() const
Definition: attribute_mapper_ast_path_eval.hpp:89
attribute_store_type_t last_fail_type() const
Definition: attribute_mapper_ast_path_eval.hpp:97
size_t get_depth(const std::vector< attribute_path_element > &paths) const
attribute_store::attribute operator()(const attribute_path_subscript &subscript) const
Subscript operator.
bool all_elements_parsed() const
Definition: attribute_mapper_ast_path_eval.hpp:81
attribute_path_eval(const attribute_store::attribute context)
Construct a new attribute path eval object.
Definition: attribute_mapper_ast_path_eval.hpp:57
attribute_store::attribute operator()(const nil &nul)
hat operator ^ (parent)
int elements_left
Definition: attribute_mapper_ast_path_eval.hpp:110
attribute_store_type_t last_type_id
Definition: attribute_mapper_ast_path_eval.hpp:109
attribute_store::attribute context
Definition: attribute_mapper_ast_path_eval.hpp:111
attribute_store::attribute operator()(const attribute_store_type_t type_id)
just given by type
Attribute path subscript.
Definition: attribute_mapper_ast.hpp:160
Definition: attribute_mapper_ast.hpp:42