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

tracks all rules of a single type for a particular target. More...

#include <pattern_rule_container.h>

Public Member Functions

 pattern_rule_container ()
 Construct a new pattern rule container object.
 
virtual ~pattern_rule_container ()
 Destroy the pattern rule container object.
 
bool add_rule (std::string _name, I_pattern_rule *_rule, bool _active=true)
 Adds a descendant of I_pattern_rule by name to this container.
 
void deactivate_rule (std::string _name)
 deactivate rule by name.
 
void activate_rule (std::string _name)
 activate rule by name.
 
void process_active_rules (uint64_t _old_value, uint64_t _new_value)
 processes all active rules.
 
I_pattern_rulefind_rule (std::string _name)
 find rule in active or inactive list by name.
 
I_pattern_rulefind_active_rule (std::string _name)
 find rule in active list by name.
 
I_pattern_rulefind_inactive_rule (std::string _name)
 find rule in inactive list by name.
 
const std::map< std::string, I_pattern_rule * > & get_active_rules () const
 return const reference to 'active' string map of pattern rules.
 
const std::map< std::string, I_pattern_rule * > & get_inactive_rules () const
 return const reference to 'inactive' string map of pattern rules.
 

Protected Attributes

std::map< std::string, I_pattern_rule * > m_active_rules
 map of string to active rules.
 
std::map< std::string, I_pattern_rule * > m_inactive_rules
 map of string to inactive rules.
 

Detailed Description

tracks all rules of a single type for a particular target.

Constructor & Destructor Documentation

◆ pattern_rule_container()

sme::pattern_rule_container::pattern_rule_container ( )
inline

Construct a new pattern rule container object.

◆ ~pattern_rule_container()

virtual sme::pattern_rule_container::~pattern_rule_container ( )
inlinevirtual

Destroy the pattern rule container object.

Member Function Documentation

◆ activate_rule()

void sme::pattern_rule_container::activate_rule ( std::string  _name)
inline

activate rule by name.

Parameters
_nameof rule to activate

◆ add_rule()

bool sme::pattern_rule_container::add_rule ( std::string  _name,
I_pattern_rule _rule,
bool  _active = true 
)
inline

Adds a descendant of I_pattern_rule by name to this container.

Parameters
_nameof rule
_rulepointer to new rule object
_activeenables or disables rule (true by default)
Returns
true if success
false if failure

◆ deactivate_rule()

void sme::pattern_rule_container::deactivate_rule ( std::string  _name)
inline

deactivate rule by name.

Parameters
_nameof rule to deactivate

◆ find_active_rule()

I_pattern_rule * sme::pattern_rule_container::find_active_rule ( std::string  _name)
inline

find rule in active list by name.

Parameters
_nameof rule
Returns
I_pattern_rule*

◆ find_inactive_rule()

I_pattern_rule * sme::pattern_rule_container::find_inactive_rule ( std::string  _name)
inline

find rule in inactive list by name.

Parameters
_nameof rule
Returns
I_pattern_rule*

◆ find_rule()

I_pattern_rule * sme::pattern_rule_container::find_rule ( std::string  _name)
inline

find rule in active or inactive list by name.

Parameters
_nameof rule
Returns
I_pattern_rule*

◆ get_active_rules()

const std::map< std::string, I_pattern_rule * > & sme::pattern_rule_container::get_active_rules ( ) const
inline

return const reference to 'active' string map of pattern rules.

Returns
const std::map< std::string, I_pattern_rule *> &

◆ get_inactive_rules()

const std::map< std::string, I_pattern_rule * > & sme::pattern_rule_container::get_inactive_rules ( ) const
inline

return const reference to 'inactive' string map of pattern rules.

Returns
const std::map< std::string, I_pattern_rule *> &

◆ process_active_rules()

void sme::pattern_rule_container::process_active_rules ( uint64_t  _old_value,
uint64_t  _new_value 
)
inline

processes all active rules.

Parameters
_old_valueof associated object
_new_valueof associated object

Member Data Documentation

◆ m_active_rules

std::map< std::string, I_pattern_rule *> sme::pattern_rule_container::m_active_rules
protected

map of string to active rules.

◆ m_inactive_rules

std::map< std::string, I_pattern_rule *> sme::pattern_rule_container::m_inactive_rules
protected

map of string to inactive rules.


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