#include <rc_event_forwarder.h>

Definition at line 90 of file rc_event_forwarder.h.
Public Member Functions | |
| rc_event_forwarder (event_getter_type event_getter_method) | |
| Constructor. | |
| virtual bool | add_target (sc_event &target_event, rc_event_filter *filter=NULL) |
| Adds a target event. | |
| virtual bool | add_target (sc_interface &target_if, rc_event_filter *filter=NULL) |
| Adds a target event obtained from the target interface. | |
| virtual bool | add_target (IF &target_if, rc_event_filter *filter=NULL) |
| Adds a target event obtained from the target interface. | |
| virtual int | get_target_count () const |
| Returns the number of added target events. | |
| virtual void | clear_targets () |
| Clears the target chain. | |
| virtual void | trigger_event () |
| Triggers the event notification on the target chain. | |
| virtual | ~rc_event_forwarder () |
| Virtual destructor. | |
Protected Types | |
| typedef boost::function < const sc_event &(IF *) | event_getter_type ) |
| Event getter functor. | |
| typedef std::vector < target > | target_vector |
Protected Member Functions | |
| virtual void | rc_trigger_event (const sc_event &start_event) |
| Event notification trigger (requested by a filter). | |
Protected Attributes | |
| const event_getter_type | m_get_event |
| event getter functor | |
| target | m_target1 |
| first target event | |
| target | m_target2 |
| second target event | |
| target_vector | m_targets |
| further target events | |
Private Member Functions | |
| RC_STATIC_ASSERT_VALID_INTERFACE (IF) | |
Classes | |
| struct | target |
typedef boost::function<const sc_event& (IF*) event_getter_type) [protected] |
Event getter functor.
An event getter functor must provide the following signature:
Definition at line 116 of file rc_event_forwarder.h.
typedef std::vector<target> target_vector [protected] |
Definition at line 118 of file rc_event_forwarder.h.
| rc_event_forwarder | ( | event_getter_type | event_getter_method | ) | [inline] |
| ~rc_event_forwarder | ( | ) | [inline, virtual] |
| RC_STATIC_ASSERT_VALID_INTERFACE | ( | IF | ) | [private] |
| bool add_target | ( | sc_event & | target_event, | |
| rc_event_filter * | filter = NULL | |||
| ) | [inline, virtual] |
Adds a target event.
Implements rc_event_forwarder_base.
Definition at line 274 of file rc_event_forwarder.h.
Referenced by rc_event_forwarder::add_target().
| bool add_target | ( | sc_interface & | target_if, | |
| rc_event_filter * | filter = NULL | |||
| ) | [inline, virtual] |
Adds a target event obtained from the target interface.
Implements rc_event_forwarder_base.
Definition at line 312 of file rc_event_forwarder.h.
| bool add_target | ( | IF & | target_if, | |
| rc_event_filter * | filter = NULL | |||
| ) | [inline, virtual] |
Adds a target event obtained from the target interface.
Definition at line 324 of file rc_event_forwarder.h.
| int get_target_count | ( | ) | const [inline, virtual] |
Returns the number of added target events.
Implements rc_event_forwarder_base.
Definition at line 333 of file rc_event_forwarder.h.
| void clear_targets | ( | ) | [inline, virtual] |
Clears the target chain.
Implements rc_event_forwarder_base.
Definition at line 340 of file rc_event_forwarder.h.
| void trigger_event | ( | ) | [inline, virtual] |
Triggers the event notification on the target chain.
Implements rc_event_forwarder_base.
Definition at line 373 of file rc_event_forwarder.h.
| void rc_trigger_event | ( | const sc_event & | start_event | ) | [inline, protected, virtual] |
Event notification trigger (requested by a filter).
In constrast to trigger_event(), it starts triggering at the position of the specified event in the chain.
The call will be ignored if the event cannot be found in the chain.
Implements rc_event_trigger.
Definition at line 416 of file rc_event_forwarder.h.
const event_getter_type m_get_event [protected] |
event getter functor
Definition at line 181 of file rc_event_forwarder.h.
Referenced by rc_event_forwarder::add_target().
first target event
Definition at line 185 of file rc_event_forwarder.h.
Referenced by rc_event_forwarder::add_target(), rc_event_forwarder::clear_targets(), rc_event_forwarder::get_target_count(), rc_event_forwarder::rc_trigger_event(), and rc_event_forwarder::trigger_event().
second target event
Definition at line 189 of file rc_event_forwarder.h.
Referenced by rc_event_forwarder::add_target(), rc_event_forwarder::clear_targets(), rc_event_forwarder::get_target_count(), rc_event_forwarder::rc_trigger_event(), and rc_event_forwarder::trigger_event().
target_vector m_targets [protected] |
further target events
Definition at line 193 of file rc_event_forwarder.h.
Referenced by rc_event_forwarder::add_target(), rc_event_forwarder::clear_targets(), rc_event_forwarder::get_target_count(), rc_event_forwarder::rc_trigger_event(), and rc_event_forwarder::trigger_event().
1.5.3