92 const char* if_typename()
const
93 {
return get_interface_type().name(); }
95 void construction_done();
96 void elaboration_done();
97 void start_simulation();
98 void simulation_done();
102 this_type& operator = (
const this_type& );
172 operator const IF&()
const
173 {
return *
const_cast<this_type*
>(
this); }
177 virtual void bind( IF& interface_ )
189 this->
bind(interface_);
193 virtual const char*
kind()
const {
return "sc_export"; }
203 this_type& operator = (
const this_type& );
226 {
return static_cast<int>(m_export_vec.size()); }
237 bool construction_done();
240 void elaboration_done();
243 void start_simulation();
246 void simulation_done();
250 int m_construction_done;
251 std::vector<sc_export_base*> m_export_vec;
#define SC_REPORT_ERROR(msg_type, msg)
const char SC_ID_SC_EXPORT_ALREADY_BOUND_[]
const char SC_ID_SC_EXPORT_HAS_NO_INTERFACE_[]
virtual void end_of_simulation()
void report_error(const char *id, const char *add_msg=0) const
virtual sc_interface * get_interface()=0
virtual void before_end_of_elaboration()
virtual void end_of_elaboration()
virtual const sc_interface * get_interface() const =0
virtual std::type_index get_interface_type() const =0
sc_export_base(const char *name)
virtual void start_of_simulation()
virtual ~sc_export_base()
void operator()(IF &interface_)
virtual std::type_index get_interface_type() const
sc_export(const char *name_)
virtual const char * kind() const
virtual const sc_interface * get_interface() const
const IF * operator->() const
virtual void bind(IF &interface_)
virtual sc_interface * get_interface()
void insert(sc_export_base *)
void remove(sc_export_base *)
const char * name() const