23 #ifndef __TLM_CORE_IFS_H__
24 #define __TLM_CORE_IFS_H__
34 template <
typename REQ ,
typename RSP >
40 virtual void transport(
const REQ &req , RSP &rsp ) {
49 template <
typename T >
54 virtual void get( T &t ) { t =
get(); }
58 template <
typename T >
62 virtual void put(
const T &t ) = 0;
67 template <
typename T >
71 virtual bool nb_get( T &t ) = 0;
76 template <
typename T >
80 virtual bool nb_put(
const T &t ) = 0;
88 template <
typename T >
93 template <
typename T >
101 template <
typename T >
110 template <
typename T >
114 virtual bool nb_peek( T &t )
const = 0;
119 template <
typename T >
126 template <
typename T >
131 template <
typename T >
137 template <
typename T >
virtual T peek(tlm_tag< T > *t=0) const =0
virtual const sc_core::sc_event & ok_to_get(tlm_tag< T > *t=0) const =0
virtual bool nb_can_put(tlm_tag< T > *t=0) const =0
virtual bool nb_can_get(tlm_tag< T > *t=0) const =0
virtual bool nb_put(const T &t)=0
virtual void peek(T &t) const
virtual bool nb_get(T &t)=0
virtual bool nb_can_peek(tlm_tag< T > *t=0) const =0
virtual void put(const T &t)=0
virtual RSP transport(const REQ &)=0
virtual const sc_core::sc_event & ok_to_put(tlm_tag< T > *t=0) const =0
virtual bool nb_peek(T &t) const =0
virtual void transport(const REQ &req, RSP &rsp)
virtual const sc_core::sc_event & ok_to_peek(tlm_tag< T > *t=0) const =0