Public Types | Public Member Functions

sc_during_if Class Reference

Inheritance diagram for sc_during_if:
Inheritance graph
[legend]

List of all members.

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

Detailed Description

Definition at line 20 of file during-if.h.


Member Function Documentation

template<typename T >
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(&current_object::method, arg1, arg2)

instead of

 boost::bind(&current_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.


The documentation for this class was generated from the following file:
 All Classes Files Functions Defines