Public Types | |
enum | mode { seq, thread, pool, ondemand } |
Public Member Functions | |
template<typename T > | |
boost::function< void()> | bind_this (void(T::*f)(void)) |
virtual void | extra_time (const sc_core::sc_time &t)=0 |
virtual void | extra_time (double time, sc_core::sc_time_unit unit) |
virtual void | catch_up (const sc_core::sc_time &t)=0 |
virtual void | catch_up (double time, sc_core::sc_time_unit unit) |
virtual void | catch_up () |
virtual void | sc_call (const boost::function< void()> &f)=0 |
virtual void | during (const sc_core::sc_time &time, const boost::function< void()> &routine)=0 |
virtual void | during (double time, sc_core::sc_time_unit unit, const boost::function< void()> &routine) |
virtual mode | get_mode ()=0 |
Definition at line 20 of file during-if.h.
boost::function<void()> sc_during_if::bind_this | ( | void(T::*)(void) | f | ) | [inline] |
Convenience helper to call boost::bind on methods of this object. Call
bind_this(¤t_object::method, arg1, arg2)
instead of
boost::bind(¤t_object::method, this, arg1, arg2)
Definition at line 36 of file during-if.h.
virtual void sc_during_if::catch_up | ( | const sc_core::sc_time & | t | ) | [pure virtual] |
Blocks the current task until the SystemC time has reached the end of the task, minus t.
If t == 0, this means wait until the SystemC time has reached the end of this task.
Implemented in sc_during_env, sc_during_ondemand, sc_during_pool, sc_during_seq, and sc_during_thread.
virtual void sc_during_if::catch_up | ( | double | time, | |
sc_core::sc_time_unit | unit | |||
) | [inline, virtual] |
Convenience wrapper around catch_up(), allowing to use a time value and a time unit.
Definition at line 66 of file during-if.h.
virtual void sc_during_if::catch_up | ( | ) | [inline, virtual] |
Convenience wrapper around catch_up() with SC_ZERO_TIME argument. This function blocks the task until the SystemC time reaches the end of the current during task.
Definition at line 75 of file during-if.h.
virtual void sc_during_if::during | ( | double | time, | |
sc_core::sc_time_unit | unit, | |||
const boost::function< void()> & | routine | |||
) | [inline, virtual] |
Convenience wrapper around during(), allowing to use a time value and a time unit.
Definition at line 101 of file during-if.h.
virtual void sc_during_if::during | ( | const sc_core::sc_time & | time, | |
const boost::function< void()> & | routine | |||
) | [pure virtual] |
Create a "during task" of duration time, executing the function routine.
The function routine may be executed as a separate OS thread, and is not allowed to execute SystemC primitives like wait or notify().
Implemented in sc_during_env, sc_during_ondemand, sc_during_pool, sc_during_seq, and sc_during_thread.
virtual void sc_during_if::extra_time | ( | double | time, | |
sc_core::sc_time_unit | unit | |||
) | [inline, virtual] |
Convenience wrapper around extra_time(), allowing to use a time value and a time unit.
Definition at line 49 of file during-if.h.
virtual void sc_during_if::extra_time | ( | const sc_core::sc_time & | t | ) | [pure virtual] |
Increase duration of current task by t
Implemented in sc_during_env, sc_during_ondemand, sc_during_pool, sc_during_seq, and sc_during_thread.
virtual void sc_during_if::sc_call | ( | const boost::function< void()> & | f | ) | [pure virtual] |
Call the function f in the context of SystemC. Unlike the during task, f is allowed to access shared variables without locking, to call SystemC primitives like notify() or wait().
Implemented in sc_during_env, sc_during_ondemand, sc_during_pool, sc_during_seq, and sc_during_thread.