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

The sc_semaphore primitive channel class. More...

#include <sysc/communication/sc_semaphore.h>

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

Public Member Functions

 sc_semaphore (int init_value_)
 
 sc_semaphore (const char *name_, int init_value_)
 
virtual int wait (int)
 A new parameter segment ID is added for the out-of-order simulation. More...
 
virtual int trywait ()
 
virtual int post ()
 
virtual int get_value () const
 
virtual const char * kind () const
 
- Public Member Functions inherited from sc_core::sc_interface
virtual void register_port (sc_port_base &port_, const char *if_typename_)
 
virtual const sc_eventdefault_event () const
 
virtual ~sc_interface ()
 
- Public Member Functions inherited from sc_core::sc_object
const char * name () const
 
const char * basename () const
 
virtual void print (::std::ostream &os=::std::cout) const
 
virtual void dump (::std::ostream &os=::std::cout) const
 
virtual void trace (sc_trace_file *tf) const
 
sc_simcontextsimcontext () const
 
bool add_attribute (sc_attr_base &)
 
sc_attr_baseget_attribute (const std::string &name_)
 
const sc_attr_baseget_attribute (const std::string &name_) const
 
sc_attr_baseremove_attribute (const std::string &name_)
 
void remove_all_attributes ()
 
int num_attributes () const
 
sc_attr_cltnattr_cltn ()
 
const sc_attr_cltnattr_cltn () const
 
virtual const std::vector
< sc_event * > & 
get_child_events () const
 
virtual const std::vector
< sc_object * > & 
get_child_objects () const
 
sc_objectget_parent () const
 
sc_objectget_parent_object () const
 

Protected Member Functions

bool in_use () const
 
void report_error (const char *id, const char *add_msg=0) const
 
- Protected Member Functions inherited from sc_core::sc_semaphore_if
 sc_semaphore_if ()
 
- Protected Member Functions inherited from sc_core::sc_interface
 sc_interface ()
 
- Protected Member Functions inherited from sc_core::sc_object
 sc_object ()
 
 sc_object (const char *nm)
 
 sc_object (const sc_object &)
 
sc_objectoperator= (const sc_object &)
 
virtual ~sc_object ()
 
virtual void add_child_event (sc_event *event_p)
 
virtual void add_child_object (sc_object *object_p)
 
virtual bool remove_child_event (sc_event *event_p)
 
virtual bool remove_child_object (sc_object *object_p)
 
phase_cb_mask register_simulation_phase_callback (phase_cb_mask)
 
phase_cb_mask unregister_simulation_phase_callback (phase_cb_mask)
 

Protected Attributes

sc_event m_free
 
int m_value
 
CHNL_MTX_TYPE_ m_mutex
 A lock to protect concurrent communication through sc_semaphore. More...
 

Additional Inherited Members

- Public Types inherited from sc_core::sc_object
typedef unsigned phase_cb_mask
 

Detailed Description

The sc_semaphore primitive channel class.

Definition at line 46 of file sc_semaphore.h.

Constructor & Destructor Documentation

sc_core::sc_semaphore::sc_semaphore ( int  init_value_)
explicit
sc_core::sc_semaphore::sc_semaphore ( const char *  name_,
int  init_value_ 
)

Member Function Documentation

virtual int sc_core::sc_semaphore::get_value ( ) const
inlinevirtual

Implements sc_core::sc_semaphore_if.

Definition at line 76 of file sc_semaphore.h.

bool sc_core::sc_semaphore::in_use ( ) const
inlineprotected

Definition at line 92 of file sc_semaphore.h.

virtual const char* sc_core::sc_semaphore::kind ( ) const
inlinevirtual

Reimplemented from sc_core::sc_object.

Definition at line 85 of file sc_semaphore.h.

virtual int sc_core::sc_semaphore::post ( )
virtual
void sc_core::sc_semaphore::report_error ( const char *  id,
const char *  add_msg = 0 
) const
protected
virtual int sc_core::sc_semaphore::trywait ( )
virtual
virtual int sc_core::sc_semaphore::wait ( int  )
virtual

A new parameter segment ID is added for the out-of-order simulation.

Implements sc_core::sc_semaphore_if.

Member Data Documentation

sc_event sc_core::sc_semaphore::m_free
protected

Definition at line 101 of file sc_semaphore.h.

CHNL_MTX_TYPE_ sc_core::sc_semaphore::m_mutex
mutableprotected

A lock to protect concurrent communication through sc_semaphore.

Definition at line 108 of file sc_semaphore.h.

int sc_core::sc_semaphore::m_value
protected

Definition at line 102 of file sc_semaphore.h.


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