SystemC  2.3.2
Accellera SystemC proof-of-concept library
sc_core::sc_object Class Reference

Abstract base class of all SystemC `simulation' objects. More...

#include <sysc/kernel/sc_object.h>

Inheritance diagram for sc_core::sc_object:

Classes

class  hierarchy_scope
 

Public Types

typedef unsigned phase_cb_mask
 

Public Member Functions

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
 

Protected Member Functions

 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)
 

Friends

class sc_event
 
class sc_module
 
struct sc_invoke_method
 
class sc_module_dynalloc_list
 
class sc_object_manager
 
class sc_phase_callback_registry
 
class sc_process_b
 
class sc_runnable
 
class sc_simcontext
 
class sc_trace_file_base
 

Detailed Description

Abstract base class of all SystemC `simulation' objects.

Definition at line 61 of file sc_object.h.

Member Typedef Documentation

◆ phase_cb_mask

Definition at line 75 of file sc_object.h.

Constructor & Destructor Documentation

◆ sc_object() [1/3]

sc_core::sc_object::sc_object ( )
protected

◆ sc_object() [2/3]

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

◆ sc_object() [3/3]

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

◆ ~sc_object()

virtual sc_core::sc_object::~sc_object ( )
protectedvirtual

Member Function Documentation

◆ add_attribute()

bool sc_core::sc_object::add_attribute ( sc_attr_base )

◆ add_child_event()

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

◆ add_child_object()

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

Reimplemented in sc_core::sc_process_b.

◆ attr_cltn() [1/2]

sc_attr_cltn& sc_core::sc_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

◆ dump()

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

◆ get_attribute() [1/2]

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

◆ get_attribute() [2/2]

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

◆ get_child_events()

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

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
inlinevirtual

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

Definition at line 117 of file sc_object.h.

◆ get_parent()

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

◆ get_parent_object()

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

Definition at line 121 of file sc_object.h.

◆ kind()

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

Reimplemented in sc_core::sc_out< T >, sc_core::sc_out< bool >, sc_core::sc_inout< sc_dt::sc_logic >, sc_core::sc_inout< bool >, sc_core::sc_inout< T >, sc_core::sc_inout< sc_dt::sc_lv< W > >, sc_core::sc_in< sc_dt::sc_logic >, sc_core::sc_in< bool >, sc_core::sc_port< IF, N, P >, sc_core::sc_port< sc_signal_inout_if< T >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_in_if< bool >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_fifo_out_if< T >, 0, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_logic >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_inout_if< bool >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_in_if< T >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_logic >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_fifo_in_if< T >, 0, SC_ONE_OR_MORE_BOUND >, sc_core::sc_out_rv< W >, sc_core::sc_out_resolved, sc_core::sc_fifo_out< T >, sc_core::sc_in< T >, sc_core::sc_in< sc_dt::sc_lv< W > >, sc_core::sc_inout_rv< W >, sc_core::sc_inout_resolved, sc_core::sc_export< IF >, sc_core::sc_signal_t< T, POL >, sc_core::sc_signal_t< bool, POL >, sc_core::sc_signal_t< sc_dt::sc_logic, POL >, sc_core::sc_vector_base, sc_core::sc_fifo_in< T >, sc_core::sc_fifo< T >, sc_core::sc_signal_rv< W >, sc_core::sc_method_process, sc_core::sc_in_rv< W >, sc_core::sc_thread_process, sc_core::sc_in_resolved, sc_core::sc_clock, sc_core::sc_port_base, sc_core::sc_signal_channel, sc_core::sc_module, sc_core::sc_signal_resolved, sc_core::sc_event_queue, sc_core::sc_buffer< T, POL >, sc_core::sc_semaphore, sc_core::sc_mutex, sc_core::sc_cthread_process, and sc_core::sc_prim_channel.

Definition at line 89 of file sc_object.h.

◆ name()

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

Definition at line 77 of file sc_object.h.

◆ num_attributes()

int sc_core::sc_object::num_attributes ( ) const

◆ operator=()

sc_object & sc_core::sc_object::operator= ( const sc_object )
inlineprotected

Definition at line 166 of file sc_object.h.

◆ print()

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

◆ register_simulation_phase_callback()

phase_cb_mask sc_core::sc_object::register_simulation_phase_callback ( phase_cb_mask  )
protected

◆ remove_all_attributes()

void sc_core::sc_object::remove_all_attributes ( )

◆ remove_attribute()

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

◆ remove_child_event()

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

◆ remove_child_object()

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

Reimplemented in sc_core::sc_process_b.

◆ simcontext()

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

Definition at line 91 of file sc_object.h.

◆ trace()

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

◆ unregister_simulation_phase_callback()

phase_cb_mask sc_core::sc_object::unregister_simulation_phase_callback ( phase_cb_mask  )
protected

Friends And Related Function Documentation

◆ sc_event

friend class sc_event
friend

Definition at line 63 of file sc_object.h.

◆ sc_invoke_method

friend struct sc_invoke_method
friend

Definition at line 65 of file sc_object.h.

◆ sc_module

friend class sc_module
friend

Definition at line 64 of file sc_object.h.

◆ sc_module_dynalloc_list

friend class sc_module_dynalloc_list
friend

Definition at line 66 of file sc_object.h.

◆ sc_object_manager

friend class sc_object_manager
friend

Definition at line 67 of file sc_object.h.

◆ sc_phase_callback_registry

friend class sc_phase_callback_registry
friend

Definition at line 68 of file sc_object.h.

◆ sc_process_b

friend class sc_process_b
friend

Definition at line 69 of file sc_object.h.

◆ sc_runnable

friend class sc_runnable
friend

Definition at line 70 of file sc_object.h.

◆ sc_simcontext

friend class sc_simcontext
friend

Definition at line 71 of file sc_object.h.

◆ sc_trace_file_base

friend class sc_trace_file_base
friend

Definition at line 72 of file sc_object.h.


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