TLM-2.0: tlm::tlm_fifo< T > Class Template Reference

# tlm::tlm_fifo< T > Class Template Reference

`#include <tlm_fifo.h>`

Inheritance diagram for tlm::tlm_fifo< T >:

[legend]
Collaboration diagram for tlm::tlm_fifo< T >:

[legend]

List of all members.

## Public Member Functions
| tlm_fifo (int size_=1)
| tlm_fifo (const char *name_, int size_=1)
virtual | ~tlm_fifo ()
T | get (tlm_tag< T > *t=0)
bool | nb_get (T &)
bool | nb_can_get (tlm_tag< T > *t=0) const
const sc_core::sc_event & | ok_to_get (tlm_tag< T > *t=0) const
T | peek (tlm_tag< T > *t=0) const
bool | nb_peek (T &) const
bool | nb_can_peek (tlm_tag< T > *t=0) const
const sc_core::sc_event & | ok_to_peek (tlm_tag< T > *t=0) const
void | put (const T &)
bool | nb_put (const T &)
bool | nb_can_put (tlm_tag< T > *t=0) const
const sc_core::sc_event & | ok_to_put (tlm_tag< T > *t=0) const
void | nb_expand (unsigned int n=1)
void | nb_unbound (unsigned int n=16)
bool | nb_reduce (unsigned int n=1)
bool | nb_bound (unsigned int n)
bool | nb_peek (T &, int n) const
bool | nb_poke (const T &, int n=0)
int | used () const
int | size () const
void | debug () const
const char * | kind () const
## Static Public Attributes
static const char *const | kind_string = "tlm_fifo"
## Protected Member Functions
sc_core::sc_event & | read_event (tlm_tag< T > *t=0)
void | update ()
void | init (int)
## Protected Attributes
circular_buffer< T > * | buffer
int | m_size
int | m_num_readable
int | m_num_read
int | m_num_written
bool | m_expand
int | m_num_read_no_notify
sc_core::sc_event | m_data_read_event
sc_core::sc_event | m_data_written_event

## Detailed Description

### template<typename T>
class tlm::tlm_fifo< T >

Definition at line 43 of file tlm_fifo.h.

## Constructor & Destructor Documentation

template<typename T >

tlm::tlm_fifo< T >::tlm_fifo | ( | int | size_ = `1` | ) | `[inline, explicit]`

Definition at line 52 of file tlm_fifo.h.

template<typename T >

tlm::tlm_fifo< T >::tlm_fifo | ( | const char * | name_,
|  | int | size_ = `1` |
| ) |  |  | `[inline, explicit]`

Definition at line 59 of file tlm_fifo.h.

template<typename T >

virtual tlm::tlm_fifo< T >::~tlm_fifo | ( |  | ) | `[inline, virtual]`

Definition at line 68 of file tlm_fifo.h.

## Member Function Documentation

template<typename T >

void tlm::tlm_fifo< T >::debug | ( |  | ) | const`[inline, virtual]`

Implements tlm::tlm_fifo_debug_if< T >.

Definition at line 126 of file tlm_fifo.h.

template<typename T >

T tlm::tlm_fifo< T >::get | ( | tlm_tag< T > * | t = `0` | ) | `[inline, virtual]`

Implements tlm::tlm_blocking_get_if< T >.

Definition at line 32 of file tlm_fifo_put_get.h.

template<typename T >

void tlm::tlm_fifo< T >::init | ( | int | size_ | ) | `[inline, protected]`

Definition at line 210 of file tlm_fifo.h.

template<typename T >

const char* tlm::tlm_fifo< T >::kind | ( |  | ) | const`[inline]`

Definition at line 144 of file tlm_fifo.h.

template<typename T >

bool tlm::tlm_fifo< T >::nb_bound | ( | unsigned int | n | ) | `[inline]`

Definition at line 72 of file tlm_fifo_resize.h.

template<typename T >

bool tlm::tlm_fifo< T >::nb_can_get | ( | tlm_tag< T > * | t = `0` | ) | const`[inline, virtual]`

Implements tlm::tlm_nonblocking_get_if< T >.

Definition at line 70 of file tlm_fifo_put_get.h.

template<typename T >

bool tlm::tlm_fifo< T >::nb_can_peek | ( | tlm_tag< T > * | t = `0` | ) | const`[inline, virtual]`

Implements tlm::tlm_nonblocking_peek_if< T >.

Definition at line 76 of file tlm_fifo_peek.h.

template<typename T >

bool tlm::tlm_fifo< T >::nb_can_put | ( | tlm_tag< T > * | t = `0` | ) | const`[inline, virtual]`

Implements tlm::tlm_nonblocking_put_if< T >.

Definition at line 130 of file tlm_fifo_put_get.h.

template<typename T >

void tlm::tlm_fifo< T >::nb_expand | ( | unsigned int | n = `1` | ) | `[inline]`

Definition at line 32 of file tlm_fifo_resize.h.

template<typename T >

bool tlm::tlm_fifo< T >::nb_get | ( | T & | val_ | ) | `[inline, virtual]`

Implements tlm::tlm_nonblocking_get_if< T >.

Definition at line 51 of file tlm_fifo_put_get.h.

template<typename T >

bool tlm::tlm_fifo< T >::nb_peek | ( | T & | t,
|  | int | n |
| ) |  |  | const`[inline, virtual]`

Implements tlm::tlm_fifo_debug_if< T >.

Definition at line 58 of file tlm_fifo_peek.h.

template<typename T >

bool tlm::tlm_fifo< T >::nb_peek | ( | T & | t | ) | const`[inline, virtual]`

Implements tlm::tlm_nonblocking_peek_if< T >.

Definition at line 44 of file tlm_fifo_peek.h.

template<typename T >

bool tlm::tlm_fifo< T >::nb_poke | ( | const T & | t,
|  | int | n = `0` |
| ) |  |  | `[inline, virtual]`

Implements tlm::tlm_fifo_debug_if< T >.

Definition at line 84 of file tlm_fifo_peek.h.

template<typename T >

bool tlm::tlm_fifo< T >::nb_put | ( | const T & | val_ | ) | `[inline, virtual]`

Implements tlm::tlm_nonblocking_put_if< T >.

Definition at line 107 of file tlm_fifo_put_get.h.

template<typename T >

bool tlm::tlm_fifo< T >::nb_reduce | ( | unsigned int | n = `1` | ) | `[inline]`

Definition at line 59 of file tlm_fifo_resize.h.

template<typename T >

void tlm::tlm_fifo< T >::nb_unbound | ( | unsigned int | n = `16` | ) | `[inline]`

Definition at line 43 of file tlm_fifo_resize.h.

template<typename T >

const sc_core::sc_event& tlm::tlm_fifo< T >::ok_to_get | ( | tlm_tag< T > * | t = `0` | ) | const`[inline, virtual]`

Implements tlm::tlm_nonblocking_get_if< T >.

Definition at line 80 of file tlm_fifo.h.

template<typename T >

const sc_core::sc_event& tlm::tlm_fifo< T >::ok_to_peek | ( | tlm_tag< T > * | t = `0` | ) | const`[inline, virtual]`

Implements tlm::tlm_nonblocking_peek_if< T >.

Definition at line 90 of file tlm_fifo.h.

template<typename T >

const sc_core::sc_event& tlm::tlm_fifo< T >::ok_to_put | ( | tlm_tag< T > * | t = `0` | ) | const`[inline, virtual]`

Implements tlm::tlm_nonblocking_put_if< T >.

Definition at line 101 of file tlm_fifo.h.

template<typename T >

T tlm::tlm_fifo< T >::peek | ( | tlm_tag< T > * | t = `0` | ) | const`[inline, virtual]`

Implements tlm::tlm_blocking_peek_if< T >.

Definition at line 26 of file tlm_fifo_peek.h.

template<typename T >

void tlm::tlm_fifo< T >::put | ( | const T & | val_ | ) | `[inline, virtual]`

Implements tlm::tlm_blocking_put_if< T >.

Definition at line 86 of file tlm_fifo_put_get.h.

template<typename T >

sc_core::sc_event& tlm::tlm_fifo< T >::read_event | ( | tlm_tag< T > * | t = `0` | ) | `[inline, protected]`

Definition at line 149 of file tlm_fifo.h.

template<typename T >

int tlm::tlm_fifo< T >::size | ( |  | ) | const`[inline, virtual]`

Implements tlm::tlm_fifo_debug_if< T >.

Definition at line 122 of file tlm_fifo.h.

template<typename T >

void tlm::tlm_fifo< T >::update | ( |  | ) | `[inline, protected]`

Definition at line 236 of file tlm_fifo.h.

template<typename T >

int tlm::tlm_fifo< T >::used | ( |  | ) | const`[inline, virtual]`

Implements tlm::tlm_fifo_debug_if< T >.

Definition at line 118 of file tlm_fifo.h.

## Member Data Documentation

template<typename T >

circular_buffer<T>* tlm::tlm_fifo< T >::buffer`[protected]`

Definition at line 163 of file tlm_fifo.h.

template<typename T >

const char *const tlm::tlm_fifo< T >::kind_string = "tlm_fifo"`[inline, static]`

Definition at line 142 of file tlm_fifo.h.

template<typename T >

sc_core::sc_event tlm::tlm_fifo< T >::m_data_read_event`[protected]`

Definition at line 173 of file tlm_fifo.h.

template<typename T >

sc_core::sc_event tlm::tlm_fifo< T >::m_data_written_event`[protected]`

Definition at line 174 of file tlm_fifo.h.

template<typename T >

bool tlm::tlm_fifo< T >::m_expand`[protected]`

Definition at line 170 of file tlm_fifo.h.

template<typename T >

int tlm::tlm_fifo< T >::m_num_read`[protected]`

Definition at line 168 of file tlm_fifo.h.

template<typename T >

int tlm::tlm_fifo< T >::m_num_read_no_notify`[protected]`

Definition at line 171 of file tlm_fifo.h.

template<typename T >

int tlm::tlm_fifo< T >::m_num_readable`[protected]`

Definition at line 167 of file tlm_fifo.h.

template<typename T >

int tlm::tlm_fifo< T >::m_num_written`[protected]`

Definition at line 169 of file tlm_fifo.h.

template<typename T >

int tlm::tlm_fifo< T >::m_size`[protected]`

Definition at line 165 of file tlm_fifo.h.

The documentation for this class was generated from the following files:

- include/tlm/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo.h
- include/tlm/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo_peek.h
- include/tlm/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo_put_get.h
- include/tlm/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo_resize.h