Zigbee Protocol Controller 1.6.0
ast::dep_eval Class Reference

Dependency evaluator. More...

#include <attribute_mapper_ast_dep_eval.hpp>

Public Member Functions

const dependencies_toperator() (nil)
 
const dependencies_toperator() (uint32_t)
 
const dependencies_toperator() (float)
 
const dependencies_toperator() (const attribute &a)
 
const dependencies_toperator() (const operation &x)
 
const dependencies_toperator() (const signed_ &x)
 
const dependencies_toperator() (const condition &x)
 
const dependencies_toperator() (const function_invokation &f)
 
const dependencies_toperator() (const expression &x)
 This is the normal entry point of the evaluator. More...
 
const dependencies_tget_dependencies () const
 Get the list of dependencies. More...
 

Private Attributes

dependencies_t dependencies
 

Detailed Description

Dependency evaluator.

This evaluator goes through an AST starting with an expression and builds a list of attribute id's that are used if the expression is to be evaluated. Note that this evaluator accumulates a list of dependencies. Ie. each instance of this class should only be used once. Otherwise the result will be a combined set of dependencies for each expression this evaluator has been applied on.

Member Function Documentation

◆ get_dependencies()

const dependencies_t & ast::dep_eval::get_dependencies ( ) const

Get the list of dependencies.

Returns
const std::vector<attribute_dependency_t>&

◆ operator()() [1/9]

const dependencies_t & ast::dep_eval::operator() ( const attribute a)

◆ operator()() [2/9]

const dependencies_t & ast::dep_eval::operator() ( const condition x)

◆ operator()() [3/9]

const dependencies_t & ast::dep_eval::operator() ( const expression x)

This is the normal entry point of the evaluator.

Parameters
xTop level expression to start from

◆ operator()() [4/9]

const dependencies_t & ast::dep_eval::operator() ( const function_invokation f)

◆ operator()() [5/9]

const dependencies_t & ast::dep_eval::operator() ( const operation x)

◆ operator()() [6/9]

const dependencies_t & ast::dep_eval::operator() ( const signed_ x)

◆ operator()() [7/9]

const dependencies_t & ast::dep_eval::operator() ( float  )
inline

◆ operator()() [8/9]

const dependencies_t & ast::dep_eval::operator() ( nil  )
inline

◆ operator()() [9/9]

const dependencies_t & ast::dep_eval::operator() ( uint32_t  )
inline

Member Data Documentation

◆ dependencies

dependencies_t ast::dep_eval::dependencies
private

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