28 #ifndef __SYSTEMC_EXT_CORE_SC_EVENT_HH__ 29 #define __SYSTEMC_EXT_CORE_SC_EVENT_HH__ 36 #include "../channel/messages.hh" 37 #include "../utils/sc_report_handler.hh" 45 class DynamicSensitivityEventAndList;
46 class DynamicSensitivityEventOrList;
47 class InternalScEvent;
55 class sc_event_and_expr;
56 class sc_event_or_expr;
131 void insert(
sc_event const &e)
const;
153 void insert(
sc_event const &e)
const;
176 const char *
name()
const;
177 const char *basename()
const;
178 bool in_hierarchy()
const;
188 bool triggered()
const;
191 void notify_delayed();
192 void notify_delayed(
const sc_time &);
201 explicit sc_event(
bool,
const char *);
208 friend class ::sc_gem5::Event;
228 const sc_event & (IF::*_method)()
const) :
271 const IF *iface = if_p ?
dynamic_cast<const IF *
>(if_p) :
272 dynamic_cast<const IF *>(_port->get_interface());
274 std::ostringstream
ss;
275 ss <<
"port is not bound: port '" << _port->name() <<
"' (" <<
276 _port->kind() <<
")";
280 return (const_cast<IF *>(iface)->*_method)();
285 #endif //__SYSTEMC_EXT_CORE_SC_INTERFACE_HH__ sc_event_finder_t(const sc_port_base &p, const sc_event &(IF::*_method)() const)
const std::string & name()
const std::vector< sc_event * > & sc_get_top_level_events()
std::set< const sc_event * > events
X & operator&=(sc_proxy< X > &px, const sc_proxy< Y > &py)
virtual ~sc_event_finder_t()
::sc_gem5::Event * _gem5_event
std::set< const sc_event * > events
const sc_port_base * port() const override
const sc_port_b< IF > * _port
const FlagsType none
Nothing extra to print.
sc_event_and_expr operator&(sc_event_and_expr, sc_event_and_list const &)
X & operator|=(sc_proxy< X > &px, const sc_proxy< Y > &py)
sc_event(const sc_event &)
sc_event_or_expr operator|(sc_event_or_expr expr, sc_event const &e)
const sc_event &(IF::* _method)() const
virtual ~sc_event_finder()
#define SC_REPORT_ERROR(msg_type, msg)
sc_event * sc_find_event(const char *name)
const char SC_ID_FIND_EVENT_[]