SystemC  Recoding Infrastructure for SystemC v0.6.2 derived from Accellera SystemC 2.3.1
Accellera SystemC proof-of-concept library
Public Member Functions | List of all members
sc_core::sc_cor_pkg Class Referenceabstract

Coroutine package abstract base class. More...

#include <sysc/kernel/sc_cor.h>

Inheritance diagram for sc_core::sc_cor_pkg:
Inheritance graph
[legend]

Public Member Functions

 sc_cor_pkg (sc_simcontext *simc)
 
virtual ~sc_cor_pkg ()
 
virtual sc_corcreate (std::size_t stack_size, sc_cor_fn *fn, void *arg)=0
 
virtual void yield (sc_cor *next_cor)=0
 
virtual void wait (sc_cor *cur_cor)=0
 Suspend the current coroutine. More...
 
virtual void go (sc_cor *next_cor)=0
 Resume the next coroutine. More...
 
virtual void abort (sc_cor *next_cor)=0
 
virtual void join (sc_cor *join_cor)=0
 
virtual sc_corget_main ()=0
 
virtual void acquire_sched_mutex ()=0
 Acquire the kernel lock. More...
 
virtual void release_sched_mutex ()=0
 Release the kernel lock. More...
 
virtual void set_thread_specific (void *process_b)=0
 Set the thread specific data value. More...
 
virtual void * get_thread_specific ()=0
 Get the thread specific data value. More...
 
virtual bool is_locked ()=0
 Check whether the kernel lock is acquired. More...
 
virtual bool is_unlocked ()=0
 Check whether the kernel lock is released. More...
 
virtual bool is_lock_owner ()=0
 Check whether the kernel lock is owned by this coroutine. More...
 
virtual bool is_not_owner ()=0
 Check whether the kernel lock is not owned by this coroutine. More...
 
virtual bool is_locked_and_owner ()=0
 Check whether the kernel lock is acquired and owned by this coroutine. More...
 
sc_simcontextsimcontext ()
 

Detailed Description

Coroutine package abstract base class.

Definition at line 101 of file sc_cor.h.

Constructor & Destructor Documentation

sc_core::sc_cor_pkg::sc_cor_pkg ( sc_simcontext simc)
inline

Definition at line 106 of file sc_cor.h.

virtual sc_core::sc_cor_pkg::~sc_cor_pkg ( )
inlinevirtual

Definition at line 110 of file sc_cor.h.

Member Function Documentation

virtual void sc_core::sc_cor_pkg::abort ( sc_cor next_cor)
pure virtual

Implemented in sc_core::sc_cor_pkg_qt.

virtual void sc_core::sc_cor_pkg::acquire_sched_mutex ( )
pure virtual

Acquire the kernel lock.

virtual sc_cor* sc_core::sc_cor_pkg::create ( std::size_t  stack_size,
sc_cor_fn fn,
void *  arg 
)
pure virtual

Implemented in sc_core::sc_cor_pkg_qt.

virtual sc_cor* sc_core::sc_cor_pkg::get_main ( )
pure virtual

Implemented in sc_core::sc_cor_pkg_qt.

virtual void* sc_core::sc_cor_pkg::get_thread_specific ( )
pure virtual

Get the thread specific data value.

virtual void sc_core::sc_cor_pkg::go ( sc_cor next_cor)
pure virtual

Resume the next coroutine.

virtual bool sc_core::sc_cor_pkg::is_lock_owner ( )
pure virtual

Check whether the kernel lock is owned by this coroutine.

virtual bool sc_core::sc_cor_pkg::is_locked ( )
pure virtual

Check whether the kernel lock is acquired.

virtual bool sc_core::sc_cor_pkg::is_locked_and_owner ( )
pure virtual

Check whether the kernel lock is acquired and owned by this coroutine.

virtual bool sc_core::sc_cor_pkg::is_not_owner ( )
pure virtual

Check whether the kernel lock is not owned by this coroutine.

virtual bool sc_core::sc_cor_pkg::is_unlocked ( )
pure virtual

Check whether the kernel lock is released.

virtual void sc_core::sc_cor_pkg::join ( sc_cor join_cor)
pure virtual
virtual void sc_core::sc_cor_pkg::release_sched_mutex ( )
pure virtual

Release the kernel lock.

virtual void sc_core::sc_cor_pkg::set_thread_specific ( void *  process_b)
pure virtual

Set the thread specific data value.

sc_simcontext* sc_core::sc_cor_pkg::simcontext ( )
inline

Definition at line 185 of file sc_cor.h.

virtual void sc_core::sc_cor_pkg::wait ( sc_cor cur_cor)
pure virtual

Suspend the current coroutine.

virtual void sc_core::sc_cor_pkg::yield ( sc_cor next_cor)
pure virtual

Implemented in sc_core::sc_cor_pkg_qt.


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