tlm_utils::peq_with_cb_and_phase< OWNER, TYPES > Class Template Reference

#include <peq_with_cb_and_phase.h>

Collaboration diagram for tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 peq_with_cb_and_phase (OWNER *_owner, cb _cb)
 peq_with_cb_and_phase (const char *_name, OWNER *_owner, cb _cb)
 ~peq_with_cb_and_phase ()
void notify (tlm_payload_type &t, tlm_phase_type &p, const sc_core::sc_time &when)
void notify (tlm_payload_type &t, tlm_phase_type &p)

Private Types

typedef
TYPES::tlm_payload_type 
tlm_payload_type
typedef
TYPES::tlm_phase_type 
tlm_phase_type
typedef std::pair
< tlm_payload_type *,
tlm_phase_type
PAYLOAD
typedef void(OWNER::* cb )(tlm_payload_type &, const tlm_phase_type &)

Private Member Functions

void fec ()

Private Attributes

OWNER * m_owner
cb m_cb
time_ordered_list
< PAYLOAD
m_ppq
delta_list m_uneven_delta
delta_list m_even_delta
delta_list m_immediate_yield
sc_core::sc_event m_e

Classes

class  delta_list


Detailed Description

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
class tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >

An event queue that can contain any number of pending notifications. Each notification have an associate payload.

Definition at line 137 of file peq_with_cb_and_phase.h.


Member Typedef Documentation

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
typedef TYPES::tlm_payload_type tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::tlm_payload_type [private]

Definition at line 141 of file peq_with_cb_and_phase.h.

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
typedef TYPES::tlm_phase_type tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::tlm_phase_type [private]

Definition at line 142 of file peq_with_cb_and_phase.h.

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
typedef std::pair<tlm_payload_type*, tlm_phase_type> tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::PAYLOAD [private]

Definition at line 143 of file peq_with_cb_and_phase.h.

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
typedef void(OWNER::* tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::cb)(tlm_payload_type &, const tlm_phase_type &) [private]

Definition at line 144 of file peq_with_cb_and_phase.h.


Constructor & Destructor Documentation

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::peq_with_cb_and_phase ( OWNER *  _owner,
cb  _cb 
) [inline]

Definition at line 181 of file peq_with_cb_and_phase.h.

References tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::fec(), and tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_e.

Here is the call graph for this function:

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::peq_with_cb_and_phase ( const char *  _name,
OWNER *  _owner,
cb  _cb 
) [inline]

Definition at line 194 of file peq_with_cb_and_phase.h.

References tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::fec(), and tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_e.

Here is the call graph for this function:

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::~peq_with_cb_and_phase (  )  [inline]

Definition at line 207 of file peq_with_cb_and_phase.h.


Member Function Documentation

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
void tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::notify ( tlm_payload_type t,
tlm_phase_type p,
const sc_core::sc_time &  when 
) [inline]

Definition at line 209 of file peq_with_cb_and_phase.h.

References tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::delta_list::insert(), tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_e, tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_even_delta, tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_ppq, and tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_uneven_delta.

Here is the call graph for this function:

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
void tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::notify ( tlm_payload_type t,
tlm_phase_type p 
) [inline]

Definition at line 224 of file peq_with_cb_and_phase.h.

References tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::delta_list::insert(), tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_e, and tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_immediate_yield.

Here is the call graph for this function:

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
void tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::fec (  )  [inline, private]

Definition at line 231 of file peq_with_cb_and_phase.h.

References tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::delta_list::get(), tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_cb, tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_e, tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_even_delta, tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_immediate_yield, tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_owner, tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_ppq, tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_uneven_delta, tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::delta_list::next(), tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::delta_list::reset(), and tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::delta_list::size.

Referenced by tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::peq_with_cb_and_phase().

Here is the call graph for this function:


Member Data Documentation

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
OWNER* tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_owner [private]

Definition at line 265 of file peq_with_cb_and_phase.h.

Referenced by tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::fec().

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
cb tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_cb [private]

Definition at line 266 of file peq_with_cb_and_phase.h.

Referenced by tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::fec().

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
time_ordered_list<PAYLOAD> tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_ppq [private]

Definition at line 268 of file peq_with_cb_and_phase.h.

Referenced by tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::fec(), and tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::notify().

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
delta_list tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_uneven_delta [private]

Definition at line 269 of file peq_with_cb_and_phase.h.

Referenced by tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::fec(), and tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::notify().

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
delta_list tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_even_delta [private]

Definition at line 270 of file peq_with_cb_and_phase.h.

Referenced by tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::fec(), and tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::notify().

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
delta_list tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_immediate_yield [private]

Definition at line 271 of file peq_with_cb_and_phase.h.

Referenced by tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::fec(), and tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::notify().

template<typename OWNER, typename TYPES = tlm::tlm_base_protocol_types>
sc_core::sc_event tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::m_e [private]

Definition at line 273 of file peq_with_cb_and_phase.h.

Referenced by tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::fec(), tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::notify(), and tlm_utils::peq_with_cb_and_phase< OWNER, TYPES >::peq_with_cb_and_phase().


The documentation for this class was generated from the following file:
Generated on Thu Jun 5 17:44:29 2008 for TLM 2 by  doxygen 1.5.3