SystemC 3.0.0
Accellera SystemC proof-of-concept library
Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
sc_core::sc_port_b< IF > Class Template Reference

#include <sysc/communication/sc_port.h>

Inheritance diagram for sc_core::sc_port_b< IF >:
Inheritance graph
[legend]
Collaboration diagram for sc_core::sc_port_b< IF >:
Collaboration graph
[legend]

Public Types

typedef sc_port_base base_type
 
typedef sc_port_b< IF > this_type
 
typedef this_type port_type
 
- Public Types inherited from sc_core::sc_port_base
typedef sc_port_base this_type
 

Public Member Functions

virtual void bind (IF &interface_)
 
void operator() (IF &interface_)
 
virtual void bind (port_type &parent_)
 
void operator() (port_type &parent_)
 
int size () const
 
IF * operator-> ()
 
const IF * operator-> () const
 
const IF * get_interface (int iface_i) const
 
IF * get_interface (int iface_i)
 
IF * operator[] (int index_)
 
const IF * operator[] (int index_) const
 
virtual sc_interfaceget_interface ()
 
virtual const sc_interfaceget_interface () const
 
virtual std::type_index get_interface_type () const
 
- Public Member Functions inherited from sc_core::sc_port_base
int bind_count ()
 
virtual sc_interfaceget_interface ()=0
 
virtual const sc_interfaceget_interface () const =0
 
virtual const char * kind () const
 
virtual std::type_index get_interface_type () const =0
 
- 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
 
virtual const char * kind () 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
 
virtual ~sc_object ()
 

Protected Member Functions

 sc_port_b (int max_size_, sc_port_policy policy=SC_ONE_OR_MORE_BOUND)
 
 sc_port_b (const char *name_, int max_size_, sc_port_policy policy=SC_ONE_OR_MORE_BOUND)
 
virtual ~sc_port_b ()
 
virtual int vbind (sc_interface &)
 
virtual int vbind (sc_port_base &)
 
virtual void make_sensitive (sc_thread_handle, sc_event_finder *=0) const
 
virtual void make_sensitive (sc_method_handle, sc_event_finder *=0) const
 
- Protected Member Functions inherited from sc_core::sc_port_base
 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
 
- 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 hierarchy_scope get_hierarchy_scope ()
 

Friends

class sc_sensitive
 
class sc_sensitive_neg
 
class sc_sensitive_pos
 

Additional Inherited Members

- Protected Attributes inherited from sc_core::sc_port_base
sc_bind_info * m_bind_info
 

Detailed Description

template<class IF>
class sc_core::sc_port_b< IF >

Definition at line 261 of file sc_port.h.

Member Typedef Documentation

◆ base_type

template<class IF >
typedef sc_port_base sc_core::sc_port_b< IF >::base_type

Definition at line 272 of file sc_port.h.

◆ port_type

template<class IF >
typedef this_type sc_core::sc_port_b< IF >::port_type

Definition at line 274 of file sc_port.h.

◆ this_type

template<class IF >
typedef sc_port_b<IF> sc_core::sc_port_b< IF >::this_type

Definition at line 273 of file sc_port.h.

Constructor & Destructor Documentation

◆ sc_port_b() [1/2]

template<class IF >
sc_core::sc_port_b< IF >::sc_port_b ( int  max_size_,
sc_port_policy  policy = SC_ONE_OR_MORE_BOUND 
)
inlineexplicitprotected

Definition at line 331 of file sc_port.h.

◆ sc_port_b() [2/2]

template<class IF >
sc_core::sc_port_b< IF >::sc_port_b ( const char *  name_,
int  max_size_,
sc_port_policy  policy = SC_ONE_OR_MORE_BOUND 
)
inlineprotected

Definition at line 336 of file sc_port.h.

◆ ~sc_port_b()

template<class IF >
virtual sc_core::sc_port_b< IF >::~sc_port_b ( )
inlineprotectedvirtual

Definition at line 345 of file sc_port.h.

Member Function Documentation

◆ bind() [1/2]

template<class IF >
virtual void sc_core::sc_port_b< IF >::bind ( IF &  interface_)
inlinevirtual

Definition at line 280 of file sc_port.h.

◆ bind() [2/2]

template<class IF >
virtual void sc_core::sc_port_b< IF >::bind ( port_type parent_)
inlinevirtual

◆ get_interface() [1/4]

template<class IF >
virtual sc_interface * sc_core::sc_port_b< IF >::get_interface ( )
inlinevirtual

Implements sc_core::sc_port_base.

Definition at line 318 of file sc_port.h.

◆ get_interface() [2/4]

template<class IF >
virtual const sc_interface * sc_core::sc_port_b< IF >::get_interface ( ) const
inlinevirtual

Implements sc_core::sc_port_base.

Definition at line 321 of file sc_port.h.

◆ get_interface() [3/4]

template<class IF >
IF * sc_core::sc_port_b< IF >::get_interface ( int  iface_i)
inline

Definition at line 487 of file sc_port.h.

◆ get_interface() [4/4]

template<class IF >
const IF * sc_core::sc_port_b< IF >::get_interface ( int  iface_i) const
inline

Definition at line 502 of file sc_port.h.

◆ get_interface_type()

template<class IF >
std::type_index sc_core::sc_port_b< IF >::get_interface_type
inlinevirtual

Implements sc_core::sc_port_base.

Definition at line 572 of file sc_port.h.

◆ make_sensitive() [1/2]

template<class IF >
void sc_core::sc_port_b< IF >::make_sensitive ( sc_method_handle  handle_p,
sc_event_finder event_finder_ = 0 
) const
protectedvirtual

Reimplemented from sc_core::sc_port_base.

Definition at line 608 of file sc_port.h.

◆ make_sensitive() [2/2]

template<class IF >
void sc_core::sc_port_b< IF >::make_sensitive ( sc_thread_handle  handle_p,
sc_event_finder event_finder_ = 0 
) const
protectedvirtual

Reimplemented from sc_core::sc_port_base.

Definition at line 587 of file sc_port.h.

◆ operator()() [1/2]

template<class IF >
void sc_core::sc_port_b< IF >::operator() ( IF &  interface_)
inline

Definition at line 283 of file sc_port.h.

◆ operator()() [2/2]

template<class IF >
void sc_core::sc_port_b< IF >::operator() ( port_type parent_)
inline

Definition at line 292 of file sc_port.h.

◆ operator->() [1/2]

template<class IF >
IF * sc_core::sc_port_b< IF >::operator->
inline

Definition at line 459 of file sc_port.h.

◆ operator->() [2/2]

template<class IF >
const IF * sc_core::sc_port_b< IF >::operator->
inline

Definition at line 471 of file sc_port.h.

◆ operator[]() [1/2]

template<class IF >
IF * sc_core::sc_port_b< IF >::operator[] ( int  index_)
inline

Definition at line 310 of file sc_port.h.

◆ operator[]() [2/2]

template<class IF >
const IF * sc_core::sc_port_b< IF >::operator[] ( int  index_) const
inline

Definition at line 312 of file sc_port.h.

◆ size()

template<class IF >
int sc_core::sc_port_b< IF >::size ( ) const
inline

Definition at line 298 of file sc_port.h.

◆ vbind() [1/2]

template<class IF >
int sc_core::sc_port_b< IF >::vbind ( sc_interface interface_)
inlineprotectedvirtual

◆ vbind() [2/2]

template<class IF >
int sc_core::sc_port_b< IF >::vbind ( sc_port_base parent_)
inlineprotectedvirtual

Friends And Related Function Documentation

◆ sc_sensitive

template<class IF >
friend class sc_sensitive
friend

Definition at line 266 of file sc_port.h.

◆ sc_sensitive_neg

template<class IF >
friend class sc_sensitive_neg
friend

Definition at line 267 of file sc_port.h.

◆ sc_sensitive_pos

template<class IF >
friend class sc_sensitive_pos
friend

Definition at line 268 of file sc_port.h.


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