gem5  v22.1.0.0
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
sc_core::sc_port_b< IF > Class Template Reference

#include <sc_port.hh>

Inheritance diagram for sc_core::sc_port_b< IF >:
sc_core::sc_port_base sc_core::sc_object sc_core::sc_port< tlm::tlm_master_if< REQ, RSP > > sc_core::sc_port< bw_interface_type, 1, sc_core::SC_ONE_OR_MORE_BOUND > sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_biguint< W > >, 1, SC_ONE_OR_MORE_BOUND > sc_core::sc_port< sc_signal_in_if< bool >, 1 > sc_core::sc_port< tlm_nonblocking_put_if< T >, 1 > sc_core::sc_port< sc_signal_in_if< T >, 1 > sc_core::sc_port< tlm_nonblocking_get_if< T >, 1 > sc_core::sc_port< tlm::tlm_transport_if< REQ, RSP > > sc_core::sc_port< sc_signal_inout_if< bool >, 1 > sc_core::sc_port< sc_signal_in_if< sc_dt::sc_logic >, 1 > sc_core::sc_port< sc_signal_in_if< sc_dt::sc_int< W > >, 1 > sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_logic >, 1 > sc_core::sc_port< sc_signal_inout_if< T >, 1 > sc_core::sc_port< sc_signal_in_if< sc_dt::sc_biguint< W > >, 1, SC_ONE_OR_MORE_BOUND > sc_core::sc_port< tlm::tlm_slave_if< REQ, RSP > > sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_uint< W > >, 1, SC_ONE_OR_MORE_BOUND > sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_bigint< W > >, 1, SC_ONE_OR_MORE_BOUND > sc_core::sc_port< sc_signal_in_if< sc_dt::sc_bigint< W > >, 1, SC_ONE_OR_MORE_BOUND > sc_core::sc_port< tlm_nonblocking_peek_if< T >, 1 > sc_core::sc_port< sc_fifo_out_if< T >, 0 > sc_core::sc_port< sc_signal_in_if< sc_dt::sc_uint< W > >, 1, SC_ONE_OR_MORE_BOUND > sc_core::sc_port< sc_fifo_in_if< T >, 0 > sc_core::sc_port< tlm_fw_transport_if<>, 1, sc_core::SC_ONE_OR_MORE_BOUND > sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_int< W > >, 1 > sc_core::sc_port< IF, N, P >

Public Member Functions

void operator() (IF &i)
 
void operator() (sc_port_b< IF > &p)
 
virtual void bind (IF &i)
 
virtual void bind (sc_port_b< IF > &p)
 
IF * operator-> ()
 
const IF * operator-> () const
 
IF * operator[] (int n)
 
const IF * operator[] (int n) const
 
sc_interfaceget_interface ()
 
const sc_interfaceget_interface () const
 
- Public Member Functions inherited from sc_core::sc_port_base
 sc_port_base (const char *name, int n, sc_port_policy p)
 
virtual ~sc_port_base ()
 
void warn_port_constructor () const
 
int maxSize () const
 
int size () const
 
const char * kind () const
 
- Public Member Functions inherited from sc_core::sc_object
const char * name () const
 
const char * basename () const
 
virtual void print (std::ostream &=std::cout) const
 
virtual void dump (std::ostream &=std::cout) const
 
virtual const std::vector< sc_object * > & get_child_objects () const
 
virtual const std::vector< sc_event * > & get_child_events () const
 
sc_objectget_parent_object () const
 
bool add_attribute (sc_attr_base &)
 
sc_attr_baseget_attribute (const std::string &)
 
sc_attr_baseremove_attribute (const std::string &)
 
void remove_all_attributes ()
 
int num_attributes () const
 
sc_attr_cltnattr_cltn ()
 
const sc_attr_cltnattr_cltn () const
 
sc_simcontextsimcontext () const
 

Protected Member Functions

void before_end_of_elaboration () override
 
void end_of_elaboration () override
 
void start_of_simulation () override
 
void end_of_simulation () override
 
 sc_port_b (int n, sc_port_policy p)
 
 sc_port_b (const char *name, int n, sc_port_policy p)
 
virtual ~sc_port_b ()
 
int vbind (sc_interface &i) override
 
int vbind (sc_port_base &pb) override
 
- Protected Member Functions inherited from sc_core::sc_port_base
void bind (sc_interface &)
 
void bind (sc_port_base &)
 
void report_error (const char *id, const char *add_msg) const
 
- Protected Member Functions inherited from sc_core::sc_object
 sc_object ()
 
 sc_object (const char *)
 
 sc_object (const sc_object &)
 
sc_objectoperator= (const sc_object &)
 
virtual ~sc_object ()
 

Private Member Functions

sc_interface_gem5Interface (int n) const override
 
void _gem5AddInterface (sc_interface *iface) override
 
const char * _ifTypeName () const override
 
 sc_port_b ()
 
 sc_port_b (const sc_port_b< IF > &)
 
sc_port_b< IF > & operator= (const sc_port_b< IF > &)
 

Private Attributes

std::vector< IF * > _interfaces
 

Detailed Description

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

Definition at line 118 of file sc_port.hh.

Constructor & Destructor Documentation

◆ sc_port_b() [1/4]

template<class IF >
sc_core::sc_port_b< IF >::sc_port_b ( int  n,
sc_port_policy  p 
)
inlineexplicitprotected

Definition at line 186 of file sc_port.hh.

◆ sc_port_b() [2/4]

template<class IF >
sc_core::sc_port_b< IF >::sc_port_b ( const char *  name,
int  n,
sc_port_policy  p 
)
inlineprotected

Definition at line 189 of file sc_port.hh.

◆ ~sc_port_b()

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

Definition at line 192 of file sc_port.hh.

◆ sc_port_b() [3/4]

template<class IF >
sc_core::sc_port_b< IF >::sc_port_b ( )
inlineprivate

Definition at line 243 of file sc_port.hh.

◆ sc_port_b() [4/4]

template<class IF >
sc_core::sc_port_b< IF >::sc_port_b ( const sc_port_b< IF > &  )
inlineprivate

Definition at line 244 of file sc_port.hh.

Member Function Documentation

◆ _gem5AddInterface()

template<class IF >
void sc_core::sc_port_b< IF >::_gem5AddInterface ( sc_interface iface)
inlineoverrideprivatevirtual

◆ _gem5Interface()

template<class IF >
sc_interface* sc_core::sc_port_b< IF >::_gem5Interface ( int  n) const
inlineoverrideprivatevirtual

◆ _ifTypeName()

template<class IF >
const char* sc_core::sc_port_b< IF >::_ifTypeName ( ) const
inlineoverrideprivatevirtual

Implements sc_core::sc_port_base.

Definition at line 240 of file sc_port.hh.

References sc_core::sc_object::name().

◆ before_end_of_elaboration()

template<class IF >
void sc_core::sc_port_b< IF >::before_end_of_elaboration ( )
inlineoverrideprotectedvirtual

◆ bind() [1/2]

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

◆ bind() [2/2]

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

Definition at line 125 of file sc_port.hh.

References sc_core::sc_port_base::bind(), and gem5::VegaISA::p.

◆ end_of_elaboration()

template<class IF >
void sc_core::sc_port_b< IF >::end_of_elaboration ( )
inlineoverrideprotectedvirtual

◆ end_of_simulation()

template<class IF >
void sc_core::sc_port_b< IF >::end_of_simulation ( )
inlineoverrideprotectedvirtual

Implements sc_core::sc_port_base.

Definition at line 184 of file sc_port.hh.

◆ get_interface() [1/2]

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

◆ get_interface() [2/2]

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

Definition at line 173 of file sc_port.hh.

References sc_core::sc_port_b< IF >::_interfaces.

◆ operator()() [1/2]

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

Definition at line 121 of file sc_port.hh.

References sc_core::sc_port_b< IF >::bind(), and gem5::ArmISA::i.

◆ operator()() [2/2]

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

Definition at line 122 of file sc_port.hh.

References sc_core::sc_port_b< IF >::bind(), and gem5::VegaISA::p.

◆ operator->() [1/2]

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

◆ operator->() [2/2]

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

◆ operator=()

template<class IF >
sc_port_b<IF>& sc_core::sc_port_b< IF >::operator= ( const sc_port_b< IF > &  )
inlineprivate

Definition at line 245 of file sc_port.hh.

◆ operator[]() [1/2]

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

◆ operator[]() [2/2]

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

◆ start_of_simulation()

template<class IF >
void sc_core::sc_port_b< IF >::start_of_simulation ( )
inlineoverrideprotectedvirtual

Implements sc_core::sc_port_base.

Definition at line 183 of file sc_port.hh.

◆ vbind() [1/2]

template<class IF >
int sc_core::sc_port_b< IF >::vbind ( sc_interface i)
inlineoverrideprotectedvirtual

◆ vbind() [2/2]

template<class IF >
int sc_core::sc_port_b< IF >::vbind ( sc_port_base pb)
inlineoverrideprotectedvirtual

Member Data Documentation

◆ _interfaces

template<class IF >
std::vector<IF *> sc_core::sc_port_b< IF >::_interfaces
private

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

Generated on Wed Dec 21 2022 10:25:07 for gem5 by doxygen 1.9.1