239c239
< const sc_port_base *port() const { return _port; }
---
> const sc_port_base *port() const override { return _port; }
241,255c241
< const sc_event &
< find_event(sc_interface *if_p=NULL) const override
< {
< static const sc_gem5::InternalScEvent none;
< const IF *iface = if_p ? dynamic_cast<const IF *>(if_p) :
< dynamic_cast<const IF *>(_port->get_interface());
< if (!iface) {
< std::ostringstream ss;
< ss << "port is not bound: port '" << _port->name() << "' (" <<
< _port->kind() << ")";
< SC_REPORT_ERROR(SC_ID_FIND_EVENT_, ss.str().c_str());
< return none;
< }
< return (const_cast<IF *>(iface)->*_method)();
< }
---
> const sc_event &find_event(sc_interface *if_p=NULL) const override;
278a265,286
> namespace sc_core
> {
>
> template <class IF>
> const sc_event &
> sc_event_finder_t<IF>::find_event(sc_interface *if_p) const
> {
> static const sc_gem5::InternalScEvent none;
> const IF *iface = if_p ? dynamic_cast<const IF *>(if_p) :
> dynamic_cast<const IF *>(_port->get_interface());
> if (!iface) {
> std::ostringstream ss;
> ss << "port is not bound: port '" << _port->name() << "' (" <<
> _port->kind() << ")";
> SC_REPORT_ERROR(SC_ID_FIND_EVENT_, ss.str().c_str());
> return none;
> }
> return (const_cast<IF *>(iface)->*_method)();
> }
>
> } // namespace sc_core
>