sc_core::sc_cor_pkg Class Reference

Coroutine package abstract base class. More...

#include <sysc/kernel/sc_cor.h>

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

List of all members.

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.
virtual void go (sc_cor *next_cor)=0
 Resume the next coroutine.
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.
virtual void release_sched_mutex ()=0
 Release the kernel lock.
virtual void set_thread_specific (void *process_b)=0
 Set the thread specific data value.
virtual void * get_thread_specific ()=0
 Get the thread specific data value.
virtual bool is_locked ()=0
 Check whether the kernel lock is acquired.
virtual bool is_unlocked ()=0
 Check whether the kernel lock is released.
virtual bool is_lock_owner ()=0
 Check whether the kernel lock is owned by this coroutine.
virtual bool is_not_owner ()=0
 Check whether the kernel lock is not owned by this coroutine.
virtual bool is_locked_and_owner ()=0
 Check whether the kernel lock is acquired and owned by this coroutine.
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 (  )  [inline, virtual]

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:

Generated on 31 Jul 2017 for SystemC by  doxygen 1.6.1