40 #if defined(_MSC_VER) && !defined(SC_WIN_DLL_WARN) 42 #pragma warning(disable: 4251) // DLL import for std::string,vector 65 friend struct sc_invoke_method;
66 friend class sc_module_dynalloc_list;
78 {
return m_name.c_str(); }
80 const char* basename()
const;
82 virtual void print(::std::ostream& os=::std::cout )
const;
85 virtual void dump(::std::ostream& os=::std::cout )
const;
89 virtual const char*
kind()
const {
return "sc_object"; }
99 const sc_attr_base* get_attribute(
const std::string& name_ )
const;
102 sc_attr_base* remove_attribute(
const std::string& name_ );
105 void remove_all_attributes();
108 int num_attributes()
const;
115 {
return m_child_events; }
118 {
return m_child_objects; }
134 virtual void add_child_event(
sc_event* event_p );
135 virtual void add_child_object(
sc_object* object_p );
136 virtual bool remove_child_event(
sc_event* event_p );
137 virtual bool remove_child_object(
sc_object* object_p );
139 phase_cb_mask register_simulation_phase_callback( phase_cb_mask );
140 phase_cb_mask unregister_simulation_phase_callback( phase_cb_mask );
145 void do_simulation_phase_callback();
146 virtual void simulation_phase_callback();
149 virtual void orphan_child_events();
150 virtual void orphan_child_objects();
151 void sc_object_init(
const char* nm);
157 std::vector<sc_event*> m_child_events;
158 std::vector<sc_object*> m_child_objects;
184 #if defined(_MSC_VER) && !defined(SC_WIN_DLL_WARN) 254 #endif // SC_OBJECT_H bool sc_enable_name_checking
Abstract base class of all SystemC `simulation' objects.
Attribute collection class.
sc_object & operator=(const sc_object &)
virtual const std::vector< sc_object * > & get_child_objects() const
virtual const char * kind() const
Base class for all structural entities.
sc_object * sc_get_parent(const sc_object *obj_p)
const char * name() const
sc_object * get_parent_object() const
const char SC_HIERARCHY_CHAR
virtual const std::vector< sc_event * > & get_child_events() const
sc_simcontext * simcontext() const