30 #ifndef __SYSTEMC_EXT_CORE_SC_EVENT_HH__ 31 #define __SYSTEMC_EXT_CORE_SC_EVENT_HH__ 38 #include "../channel/messages.hh" 39 #include "../utils/sc_report_handler.hh" 47 class DynamicSensitivityEventAndList;
48 class DynamicSensitivityEventOrList;
49 class InternalScEvent;
57 class sc_event_and_expr;
58 class sc_event_or_expr;
133 void insert(
sc_event const &e)
const;
155 void insert(
sc_event const &e)
const;
178 const char *
name()
const;
179 const char *basename()
const;
180 bool in_hierarchy()
const;
190 bool triggered()
const;
193 void notify_delayed();
194 void notify_delayed(
const sc_time &);
203 explicit sc_event(
bool,
const char *);
210 friend class ::sc_gem5::Event;
230 const sc_event & (IF::*_method)()
const) :
273 const IF *iface = if_p ?
dynamic_cast<const IF *
>(if_p) :
274 dynamic_cast<const IF *>(_port->get_interface());
276 std::ostringstream
ss;
277 ss <<
"port is not bound: port '" << _port->name() <<
"' (" <<
278 _port->kind() <<
")";
282 return (const_cast<IF *>(iface)->*_method)();
287 #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_[]