SystemC  2.3.2
Accellera SystemC proof-of-concept library
sc_core::sc_port_base Class Referenceabstract

Abstract base class for class sc_port_b. More...

#include <sysc/communication/sc_port.h>

Inheritance diagram for sc_core::sc_port_base:
Collaboration diagram for sc_core::sc_port_base:

Public Types

typedef sc_port_base this_type
 
typedef unsigned phase_cb_mask
 

Public Member Functions

int bind_count ()
 
virtual sc_interfaceget_interface ()=0
 
virtual const sc_interfaceget_interface () const =0
 
virtual const char * kind () const
 
virtual sc_type_index get_interface_type () const =0
 
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

 sc_port_base (int max_size_, sc_port_policy policy=SC_ONE_OR_MORE_BOUND)
 
 sc_port_base (const char *name_, int max_size_, sc_port_policy policy=SC_ONE_OR_MORE_BOUND)
 
virtual ~sc_port_base ()
 
void bind (sc_interface &interface_)
 
void bind (this_type &parent_)
 
virtual int vbind (sc_interface &)=0
 
virtual int vbind (sc_port_base &)=0
 
virtual void before_end_of_elaboration ()
 
virtual void end_of_elaboration ()
 
virtual void start_of_simulation ()
 
virtual void end_of_simulation ()
 
void report_error (const char *id, const char *add_msg=0) const
 
virtual void make_sensitive (sc_thread_handle, sc_event_finder *=0) const
 
virtual void make_sensitive (sc_method_handle, sc_event_finder *=0) const
 
void add_static_event (sc_method_handle process_p, const sc_event &event) const
 
void add_static_event (sc_thread_handle process_p, const sc_event &event) const
 
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_bind_info * m_bind_info
 

Friends

class sc_module
 
class sc_port_registry
 
class sc_sensitive
 
class sc_sensitive_pos
 
class sc_sensitive_neg
 

Detailed Description

Abstract base class for class sc_port_b.

Definition at line 81 of file sc_port.h.

Member Typedef Documentation

◆ phase_cb_mask

typedef unsigned sc_core::sc_object::phase_cb_mask
inherited

Definition at line 75 of file sc_object.h.

◆ this_type

Definition at line 94 of file sc_port.h.

Constructor & Destructor Documentation

◆ sc_port_base() [1/2]

sc_core::sc_port_base::sc_port_base ( int  max_size_,
sc_port_policy  policy = SC_ONE_OR_MORE_BOUND 
)
explicitprotected

◆ sc_port_base() [2/2]

sc_core::sc_port_base::sc_port_base ( const char *  name_,
int  max_size_,
sc_port_policy  policy = SC_ONE_OR_MORE_BOUND 
)
protected

◆ ~sc_port_base()

virtual sc_core::sc_port_base::~sc_port_base ( )
protectedvirtual

Member Function Documentation

◆ add_attribute()

bool sc_core::sc_object::add_attribute ( sc_attr_base )
inherited

◆ add_child_event()

virtual void sc_core::sc_object::add_child_event ( sc_event event_p)
protectedvirtualinherited

◆ add_child_object()

virtual void sc_core::sc_object::add_child_object ( sc_object object_p)
protectedvirtualinherited

Reimplemented in sc_core::sc_process_b.

◆ add_static_event() [1/2]

void sc_core::sc_port_base::add_static_event ( sc_method_handle  process_p,
const sc_event event 
) const
protected

◆ add_static_event() [2/2]

void sc_core::sc_port_base::add_static_event ( sc_thread_handle  process_p,
const sc_event event 
) const
protected

◆ attr_cltn() [1/2]

sc_attr_cltn& sc_core::sc_object::attr_cltn ( )
inherited

◆ attr_cltn() [2/2]

const sc_attr_cltn& sc_core::sc_object::attr_cltn ( ) const
inherited

◆ basename()

const char* sc_core::sc_object::basename ( ) const
inherited

◆ before_end_of_elaboration()

virtual void sc_core::sc_port_base::before_end_of_elaboration ( )
protectedvirtual

◆ bind() [1/2]

void sc_core::sc_port_base::bind ( sc_interface interface_)
protected

◆ bind() [2/2]

void sc_core::sc_port_base::bind ( this_type parent_)
protected

◆ bind_count()

int sc_core::sc_port_base::bind_count ( )

◆ dump()

virtual void sc_core::sc_object::dump ( ::std::ostream &  os = ::std::cout) const
virtualinherited

◆ end_of_elaboration()

◆ end_of_simulation()

virtual void sc_core::sc_port_base::end_of_simulation ( )
protectedvirtual

◆ get_attribute() [1/2]

sc_attr_base* sc_core::sc_object::get_attribute ( const std::string &  name_)
inherited

◆ get_attribute() [2/2]

const sc_attr_base* sc_core::sc_object::get_attribute ( const std::string &  name_) const
inherited

◆ get_child_events()

virtual const std::vector<sc_event*>& sc_core::sc_object::get_child_events ( ) const
inlinevirtualinherited

Definition at line 114 of file sc_object.h.

◆ get_child_objects()

virtual const std::vector<sc_object*>& sc_core::sc_object::get_child_objects ( ) const
inlinevirtualinherited

Reimplemented in sc_core::sc_process_b, and sc_core::sc_module.

Definition at line 117 of file sc_object.h.

◆ get_interface() [1/2]

◆ get_interface() [2/2]

◆ get_interface_type()

◆ get_parent()

sc_object* sc_core::sc_object::get_parent ( ) const
inherited

◆ get_parent_object()

sc_object* sc_core::sc_object::get_parent_object ( ) const
inlineinherited

Definition at line 121 of file sc_object.h.

◆ kind()

◆ make_sensitive() [1/2]

◆ make_sensitive() [2/2]

◆ name()

const char* sc_core::sc_object::name ( ) const
inlineinherited

Definition at line 77 of file sc_object.h.

◆ num_attributes()

int sc_core::sc_object::num_attributes ( ) const
inherited

◆ print()

virtual void sc_core::sc_object::print ( ::std::ostream &  os = ::std::cout) const
virtualinherited

◆ register_simulation_phase_callback()

phase_cb_mask sc_core::sc_object::register_simulation_phase_callback ( phase_cb_mask  )
protectedinherited

◆ remove_all_attributes()

void sc_core::sc_object::remove_all_attributes ( )
inherited

◆ remove_attribute()

sc_attr_base* sc_core::sc_object::remove_attribute ( const std::string &  name_)
inherited

◆ remove_child_event()

virtual bool sc_core::sc_object::remove_child_event ( sc_event event_p)
protectedvirtualinherited

◆ remove_child_object()

virtual bool sc_core::sc_object::remove_child_object ( sc_object object_p)
protectedvirtualinherited

Reimplemented in sc_core::sc_process_b.

◆ report_error()

void sc_core::sc_port_base::report_error ( const char *  id,
const char *  add_msg = 0 
) const
protected

◆ simcontext()

sc_simcontext* sc_core::sc_object::simcontext ( ) const
inlineinherited

Definition at line 91 of file sc_object.h.

◆ start_of_simulation()

virtual void sc_core::sc_port_base::start_of_simulation ( )
protectedvirtual

◆ trace()

virtual void sc_core::sc_object::trace ( sc_trace_file tf) const
virtualinherited

◆ unregister_simulation_phase_callback()

phase_cb_mask sc_core::sc_object::unregister_simulation_phase_callback ( phase_cb_mask  )
protectedinherited

◆ vbind() [1/2]

◆ vbind() [2/2]

Friends And Related Function Documentation

◆ sc_module

friend class sc_module
friend

Definition at line 84 of file sc_port.h.

◆ sc_port_registry

friend class sc_port_registry
friend

Definition at line 85 of file sc_port.h.

◆ sc_sensitive

friend class sc_sensitive
friend

Definition at line 86 of file sc_port.h.

◆ sc_sensitive_neg

friend class sc_sensitive_neg
friend

Definition at line 88 of file sc_port.h.

◆ sc_sensitive_pos

friend class sc_sensitive_pos
friend

Definition at line 87 of file sc_port.h.

Member Data Documentation

◆ m_bind_info

sc_bind_info* sc_core::sc_port_base::m_bind_info
protected

Definition at line 190 of file sc_port.h.


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