gem5  v22.0.0.2
Public Member Functions | Protected Member Functions | Private Attributes | Friends | List of all members
sc_core::sc_object Class Reference

#include <sc_object.hh>

Inheritance diagram for sc_core::sc_object:
tlm_utils::peq_with_cb_and_phase< MultiSocketSimpleSwitchAT > tlm_utils::peq_with_cb_and_phase< sc_gem5::TlmToGem5Bridge< BITWIDTH > > tlm_utils::peq_with_get< tlm::tlm_generic_payload > tlm_utils::peq_with_get< transaction_type > sc_core::sc_export_base sc_core::sc_module sc_core::sc_mutex sc_core::sc_port_base sc_core::sc_prim_channel sc_core::sc_process_b sc_core::sc_semaphore sc_core::sc_vector_base tlm::tlm_analysis_port< T > tlm_utils::peq_with_cb_and_phase< OWNER, TYPES > tlm_utils::peq_with_get< PAYLOAD >

Public Member Functions

const char * name () const
 
const char * basename () const
 
virtual const char * kind () 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

 sc_object ()
 
 sc_object (const char *)
 
 sc_object (const sc_object &)
 
sc_objectoperator= (const sc_object &)
 
virtual ~sc_object ()
 

Private Attributes

sc_gem5::Object_gem5_object
 

Friends

class sc_gem5::Object
 

Detailed Description

Definition at line 50 of file sc_object.hh.

Constructor & Destructor Documentation

◆ sc_object() [1/3]

sc_core::sc_object::sc_object ( )
protected

Definition at line 133 of file sc_object.cc.

References _gem5_object.

◆ sc_object() [2/3]

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

Definition at line 138 of file sc_object.cc.

References _gem5_object, and name().

◆ sc_object() [3/3]

sc_core::sc_object::sc_object ( const sc_object other)
protected

Definition at line 143 of file sc_object.cc.

References _gem5_object.

◆ ~sc_object()

sc_core::sc_object::~sc_object ( )
protectedvirtual

Definition at line 155 of file sc_object.cc.

References _gem5_object.

Member Function Documentation

◆ add_attribute()

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

Definition at line 86 of file sc_object.cc.

References _gem5_object, sc_gem5::Object::add_attribute(), and gem5::ArmISA::attr.

◆ attr_cltn() [1/2]

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

Definition at line 116 of file sc_object.cc.

References _gem5_object, and sc_gem5::Object::attr_cltn().

◆ attr_cltn() [2/2]

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

◆ basename()

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

Definition at line 50 of file sc_object.cc.

References _gem5_object, and sc_gem5::Object::basename().

Referenced by sc_gem5::Object::Object().

◆ dump()

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

◆ get_attribute()

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

Definition at line 92 of file sc_object.cc.

References _gem5_object, sc_gem5::Object::get_attribute(), and name().

◆ get_child_events()

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

Reimplemented in sc_core::sc_module.

Definition at line 74 of file sc_object.cc.

References _gem5_object, and sc_gem5::Object::get_child_events().

Referenced by sc_core::sc_process_handle::get_child_events().

◆ get_child_objects()

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

◆ get_parent_object()

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

◆ kind()

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

Reimplemented in sc_core::sc_port< IF, N, P >, sc_gem5::CThread, gem5::ClockRateControlInitiatorSocket, gem5::SignalInterruptInitiatorSocket, sc_core::sc_export< IF >, sc_gem5::Thread, sc_gem5::Method, sc_core::sc_inout< sc_dt::sc_bigint< W > >, sc_core::sc_inout< sc_dt::sc_biguint< W > >, sc_core::sc_inout< sc_dt::sc_uint< W > >, sc_core::sc_inout< sc_dt::sc_int< W > >, sc_core::sc_in< sc_dt::sc_bigint< W > >, sc_core::sc_in< sc_dt::sc_biguint< W > >, sc_core::sc_in< sc_dt::sc_uint< W > >, sc_core::sc_in< sc_dt::sc_int< W > >, sc_core::sc_inout< sc_dt::sc_logic >, sc_core::sc_in< sc_dt::sc_logic >, sc_core::sc_signal< sc_dt::sc_bigint< W > >, sc_core::sc_signal< sc_dt::sc_biguint< W > >, sc_core::sc_signal< sc_dt::sc_uint< W > >, sc_core::sc_inout< bool >, sc_core::sc_signal< sc_dt::sc_int< W > >, sc_core::sc_in< bool >, tlm::tlm_initiator_socket< BUSWIDTH, TYPES, N, POL >, sc_core::sc_fifo< T >, sc_core::sc_vector_base, sc_core::sc_inout< T >, tlm::tlm_fifo< T >, sc_core::sc_module, tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >, sc_core::sc_inout_rv< W >, sc_core::sc_signal_rv< W >, sc_core::sc_out< T >, sc_core::sc_fifo_in< T >, sc_core::sc_fifo_out< T >, sc_core::sc_out_rv< W >, sc_core::sc_port_base, sc_core::sc_clock, sc_core::sc_buffer< T, WRITER_POLICY >, sc_core::sc_signal_resolved, sc_core::sc_event_queue, sc_core::sc_inout_resolved, sc_core::sc_out_resolved, sc_gem5::ScSignalBase, sc_core::sc_prim_channel, sc_core::sc_in_resolved, sc_core::sc_mutex, and sc_core::sc_semaphore.

Definition at line 56 of file sc_object.hh.

Referenced by sc_gem5::Object::dump(), and sc_core::sc_export_base::sc_export_base().

◆ name()

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

Definition at line 44 of file sc_object.cc.

References _gem5_object, and sc_gem5::Object::name().

Referenced by sc_core::sc_port_b< tlm_nonblocking_put_if< T > >::_ifTypeName(), sc_core::sc_inout< sc_dt::sc_lv< W > >::add_trace(), sc_core::sc_inout< bool >::add_trace(), sc_core::sc_inout< sc_dt::sc_logic >::add_trace(), sc_core::sc_export< tlm::tlm_fifo_get_if< RSP > >::bind(), sc_core::sc_signal< sc_dt::sc_int< W > >::check_writer(), sc_core::sc_signal< sc_dt::sc_uint< W > >::check_writer(), sc_core::sc_signal< sc_dt::sc_biguint< W > >::check_writer(), sc_core::sc_signal< sc_dt::sc_bigint< W > >::check_writer(), gem5::Iris::CPU< CortexA76TC >::CPU(), sc_gem5::Process::disable(), sc_core::sc_fifo< T >::dump(), sc_gem5::ScSignalBaseT< bool, WRITER_POLICY >::dump(), sc_core::sc_in_resolved::end_of_elaboration(), sc_core::sc_inout_resolved::end_of_elaboration(), sc_core::sc_inout_rv< W >::end_of_elaboration(), sc_core::sc_export< tlm::tlm_fifo_get_if< RSP > >::end_of_elaboration(), sc_core::sc_module::gem5_getPort(), get_attribute(), sc_core::sc_vector_base::implicitCast(), SimpleLTInitiator2_dmi::invalidate_direct_mem_ptr(), SimpleLTInitiator1_dmi::invalidate_direct_mem_ptr(), SimpleLTInitiator_ext::invalidate_direct_mem_ptr(), sc_gem5::Process::kill(), SimpleLTInitiator2::logStartTransation(), SimpleLTInitiator3::logStartTransation(), SimpleLTInitiator1::logStartTransation(), SimpleLTInitiator3_dmi::logStartTransation(), SimpleLTInitiator1_dmi::logStartTransation(), SimpleLTInitiator2_dmi::logStartTransation(), SimpleATInitiator2::logStartTransation(), SimpleATInitiator1::logStartTransation(), SimpleLTTarget_ext::myNBTransport(), sc_core::sc_process_handle::name(), SimpleLTInitiator1_dmi::nb_transport_bw(), sc_gem5::Sensitivity::notify(), sc_core::sc_export< tlm::tlm_transport_if< REQ, RSP > >::operator tlm::tlm_transport_if< REQ, RSP > &(), sc_core::sc_export< tlm::tlm_fifo_get_if< RSP > >::operator->(), sc_core::sc_fifo< T >::register_port(), sc_gem5::ScSignalBaseT< bool, WRITER_POLICY >::register_port(), sc_core::sc_signal< sc_dt::sc_int< W > >::register_port(), sc_core::sc_signal< sc_dt::sc_uint< W > >::register_port(), sc_core::sc_signal< sc_dt::sc_biguint< W > >::register_port(), sc_core::sc_signal< sc_dt::sc_bigint< W > >::register_port(), remove_attribute(), sc_core::sc_report_handler::report(), sc_core::sc_port_base::report_error(), sc_gem5::Process::reset(), sc_gem5::Process::run(), sc_core::sc_clock::sc_clock(), sc_core::sc_export_base::sc_export_base(), sc_object(), sc_core::sc_port_base::sc_port_base(), sc_core::sc_semaphore::sc_semaphore(), gem5::fastmodel::CortexR52Cluster::set_evs_param(), gem5::fastmodel::CortexA76Cluster::set_evs_param(), SimpleATTarget1::SimpleATTarget1(), SimpleATTarget2::SimpleATTarget2(), SimpleLTTarget_ext::SimpleLTTarget_ext(), sc_core::sc_vector_base::size(), sc_gem5::spawnWork(), and sc_gem5::Process::throw_it().

◆ num_attributes()

int sc_core::sc_object::num_attributes ( ) const

Definition at line 110 of file sc_object.cc.

References _gem5_object, and sc_gem5::Object::num_attributes().

◆ operator=()

sc_object & sc_core::sc_object::operator= ( const sc_object other)
protected

Definition at line 149 of file sc_object.cc.

References _gem5_object.

◆ print()

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

◆ remove_all_attributes()

void sc_core::sc_object::remove_all_attributes ( )

Definition at line 104 of file sc_object.cc.

References _gem5_object, and sc_gem5::Object::remove_all_attributes().

◆ remove_attribute()

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

Definition at line 98 of file sc_object.cc.

References _gem5_object, name(), and sc_gem5::Object::remove_attribute().

◆ simcontext()

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

Definition at line 128 of file sc_object.cc.

References _gem5_object, and sc_gem5::Object::simcontext().

Friends And Related Function Documentation

◆ sc_gem5::Object

friend class sc_gem5::Object
friend

Definition at line 84 of file sc_object.hh.

Member Data Documentation

◆ _gem5_object

sc_gem5::Object* sc_core::sc_object::_gem5_object
private

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

Generated on Thu Jul 28 2022 13:35:01 for gem5 by doxygen 1.8.17