sc_module::sc_module( const sc_module_name& ) : sc_object(::sc_core::sc_get_curr_simcontext() ->get_object_manager() ->top_of_module_name_stack() ->operator const char*()), sensitive(this), sensitive_pos(this), sensitive_neg(this), m_end_module_called(false), m_port_vec(), m_port_index(0), m_name_gen(0), m_module_name_p(0) { /* For those used to the old style of passing a name to sc_module, this constructor will reduce the chance of making a mistake */ /* When this form is used, we better have a fresh sc_module_name on the top of the stack */ sc_module_name* mod_name = simcontext()->get_object_manager()->top_of_module_name_stack(); if (0 == mod_name || 0 != mod_name->m_module_p) SC_REPORT_ERROR( SC_ID_SC_MODULE_NAME_REQUIRED_, 0 ); sc_module_init(); mod_name->set_module( this ); m_module_name_p = mod_name; // must come after sc_module_init call. }
sc_module::sc_module( const std::string& s ) : sc_object( s.c_str() ), sensitive(this), sensitive_pos(this), sensitive_neg(this), m_end_module_called(false), m_port_vec(), m_port_index(0), m_name_gen(0), m_module_name_p(0) { sc_module_init(); }
sc_module::sc_module( const char* nm ) : sc_object(nm), sensitive(this), sensitive_pos(this), sensitive_neg(this), m_end_module_called(false), m_port_vec(), m_port_index(0), m_name_gen(0), m_module_name_p(0) { SC_REPORT_WARNING( SC_ID_BAD_SC_MODULE_CONSTRUCTOR_, nm ); sc_module_init(); }
sc_module::sc_module( const std::string& s ) : sc_object( s.c_str() ), sensitive(this), sensitive_pos(this), sensitive_neg(this), m_end_module_called(false), m_port_vec(), m_port_index(0), m_name_gen(0), m_module_name_p(0) { SC_REPORT_WARNING( SC_ID_BAD_SC_MODULE_CONSTRUCTOR_, s.c_str() ); sc_module_init(); }
sc_module::sc_module() : sc_object(::sc_core::sc_get_curr_simcontext() ->get_object_manager() ->top_of_module_name_stack() ->operator const char*()), sensitive(this), sensitive_pos(this), sensitive_neg(this), m_end_module_called(false), m_port_vec(), m_port_index(0), m_name_gen(0), m_module_name_p(0) { /* When this form is used, we better have a fresh sc_module_name on the top of the stack */ sc_module_name* mod_name = simcontext()->get_object_manager()->top_of_module_name_stack(); if (0 == mod_name || 0 != mod_name->m_module_p) SC_REPORT_ERROR( SC_ID_SC_MODULE_NAME_REQUIRED_, 0 ); sc_module_init(); mod_name->set_module( this ); m_module_name_p = mod_name; // must come after sc_module_init call. }