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

rule executes if anything "masked" changes between the old and new value. More...

#include <masked.h>

Inheritance diagram for sme::rules::masked:
sme::I_no_params_pattern_rule sme::I_pattern_rule

Public Member Functions

 masked (uint64_t _mask)
 Construct a new masked object.
 
virtual ~masked ()
 Destroy the masked object.
 
virtual void process_rule (uint64_t _old_value, uint64_t &_new_value)
 process rule evaluation between old and new values.
 
- Public Member Functions inherited from sme::I_no_params_pattern_rule
 I_no_params_pattern_rule ()
 
virtual ~I_no_params_pattern_rule ()
 
virtual void action (std::function< void()> _action)
 Binds a void(void) lambda as the callback action to this rule.
 
virtual void action (std::function< void(uint64_t, uint64_t)> _action)
 
virtual _always_inline bool is_bound ()
 has the lambda callback been bound.
 
- Public Member Functions inherited from sme::I_pattern_rule
 I_pattern_rule ()
 Interface parent constructor for a new i pattern rule object.
 
virtual ~I_pattern_rule ()
 Destroy the i pattern rule object.
 
virtual void process_rule (std::uint64_t _old_value, std::uint64_t &_new_value)=0
 process rule evaluation between old and new values.
 
virtual void action (std::function< void()> _action)=0
 Binds a void(void) lambda as the callback action to this rule.
 
virtual void action (std::function< void(uint64_t, uint64_t)> _action)=0
 
_always_inline bool is_active ()
 reports if rule is active for processing.
 
virtual _always_inline bool is_bound ()=0
 has the lambda callback been bound.
 

Public Attributes

uint64_t m_mask
 mask to apply for rule evaluation.
 

Additional Inherited Members

- Protected Attributes inherited from sme::I_no_params_pattern_rule
std::function< void()> m_lambda
 
- Protected Attributes inherited from sme::I_pattern_rule
bool m_is_active
 stores is active
 

Detailed Description

rule executes if anything "masked" changes between the old and new value.

Constructor & Destructor Documentation

◆ masked()

sme::rules::masked::masked ( uint64_t  _mask)
inline

Construct a new masked object.

Parameters
_maskto be applied on the target (Register or Field)

◆ ~masked()

virtual sme::rules::masked::~masked ( )
inlinevirtual

Destroy the masked object.

Member Function Documentation

◆ process_rule()

virtual void sme::rules::masked::process_rule ( uint64_t  _old_value,
uint64_t &  _new_value 
)
inlinevirtual

process rule evaluation between old and new values.

Parameters
_old_valuevalue of content prior to read or write
_new_valuevalue of content post read or write

Member Data Documentation

◆ m_mask

uint64_t sme::rules::masked::m_mask

mask to apply for rule evaluation.


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