C++ Device API Reference Manual
Reference documentation for the Simics C++ Device API.
 
Loading...
Searching...
No Matches
sme::expression_vector Class Reference

vector of execution resulting from expression evaluation. More...

#include <expression_vector.h>

Public Member Functions

_always_inline bool has_targets ()
 has sensitivity targets (depends on size of map)
 
_always_inline bool is_bound ()
 is the lambda defined/bound
 
_always_inline void execute (std::function< void()> _func)
 define/bind the lambda (this will be executed)
 
_keep_hot void process ()
 processes (executes) sensitivities
 

Public Attributes

std::map< std::string, std::function< void()> > m_actions
 holds sensitivity to other expressions
 
std::function< void()> m_lambda
 placeholder for lambda
 

Friends

class sme::expression
 

Detailed Description

vector of execution resulting from expression evaluation.

There are many conditions which an expression can render execution based on the evaluation of itself. Rising, Falling, True->True, False->False, or Change (Rising or Falling). Expressions may have callbacks for each of these execution vectors.

Member Function Documentation

◆ execute()

_always_inline void sme::expression_vector::execute ( std::function< void()>  _func)
inline

define/bind the lambda (this will be executed)

Parameters
_func

◆ has_targets()

_always_inline bool sme::expression_vector::has_targets ( )
inline

has sensitivity targets (depends on size of map)

Returns
true
false

◆ is_bound()

_always_inline bool sme::expression_vector::is_bound ( )
inline

is the lambda defined/bound

Returns
true
false

◆ process()

_keep_hot void sme::expression_vector::process ( )
inline

processes (executes) sensitivities

Friends And Related Function Documentation

◆ sme::expression

friend class sme::expression
friend

Member Data Documentation

◆ m_actions

std::map< std::string, std::function<void()> > sme::expression_vector::m_actions

holds sensitivity to other expressions

◆ m_lambda

std::function<void()> sme::expression_vector::m_lambda

placeholder for lambda


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