36 #if ! defined( SC_DISABLE_VIRTUAL_BIND )
37 # define SC_VIRTUAL_ virtual
92 void report_error(
const char*
id,
const char* add_msg = 0)
const;
96 void construction_done();
97 void elaboration_done();
98 void start_simulation();
99 void simulation_done();
171 operator const IF&()
const
172 {
return *
const_cast<this_type*
>(
this); }
190 this->
bind(interface_);
194 virtual const char*
kind()
const {
return "sc_export"; }
198 return typeid( IF ).
name();
203 this_type& operator = (
const this_type& );
227 {
return m_export_vec.size(); }
238 bool construction_done();
241 void elaboration_done();
244 void start_simulation();
247 void simulation_done();
251 int m_construction_done;
252 std::vector<sc_export_base*> m_export_vec;
virtual void before_end_of_elaboration()
const IF * operator->() const
#define SC_REPORT_ERROR(msg_type, msg)
SC_VIRTUAL_ void bind(IF &interface_)
Registry for all exports.
virtual const sc_interface * get_interface() const
virtual ~sc_export_base()
const char * name() const
void operator()(IF &interface_)
Abstract base class for class sc_export<IF>.
Abstract base class of all interface classes.
void report_error(const char *id, const char *add_msg=0) const
virtual void start_of_simulation()
virtual const char * kind() const
sc_export(const char *name_)
Generic export class for other export classes.
void insert(sc_export_base *)
const char * if_typename() const
virtual void end_of_simulation()
virtual sc_interface * get_interface()=0
virtual sc_interface * get_interface()
virtual const char * if_typename() const =0
virtual void end_of_elaboration()
Abstract base class of all SystemC `simulation' objects.