gem5
|
Simple FIFO implementation backed by a circular buffer. More...
#include <circlebuf.hh>
Public Types | |
typedef T | value_type |
Public Member Functions | |
Fifo (size_t size) | |
bool | empty () const |
size_t | size () const |
size_t | capacity () const |
void | flush () |
template<class OutputIterator > | |
void | peek (OutputIterator out, size_t len) const |
template<class OutputIterator > | |
void | read (OutputIterator out, size_t len) |
template<class InputIterator > | |
void | write (InputIterator in, size_t len) |
Private Attributes | |
CircleBuf< value_type > | buf |
Simple FIFO implementation backed by a circular buffer.
This class provides the same basic functionallity as the circular buffer with the folling differences:
Definition at line 217 of file circlebuf.hh.
typedef T Fifo< T >::value_type |
Definition at line 220 of file circlebuf.hh.
Definition at line 223 of file circlebuf.hh.
|
inline |
Definition at line 228 of file circlebuf.hh.
Referenced by arrayParamIn(), DmaReadFifo::resumeFillFunctional(), and Fifo< uint8_t >::write().
|
inline |
Definition at line 226 of file circlebuf.hh.
|
inline |
Definition at line 230 of file circlebuf.hh.
Referenced by arrayParamIn(), and DmaReadFifo::flush().
|
inline |
Definition at line 233 of file circlebuf.hh.
Referenced by arrayParamOut().
|
inline |
Definition at line 235 of file circlebuf.hh.
Referenced by DmaReadFifo::tryGet().
|
inline |
Definition at line 227 of file circlebuf.hh.
Referenced by arrayParamOut(), DmaReadFifo::resumeFillFunctional(), DmaReadFifo::resumeFillTiming(), DmaReadFifo::size(), DmaReadFifo::tryGet(), and Fifo< uint8_t >::write().
|
inline |
Definition at line 238 of file circlebuf.hh.
Referenced by arrayParamIn(), DmaReadFifo::handlePending(), and DmaReadFifo::resumeFillFunctional().
|
private |
Definition at line 245 of file circlebuf.hh.
Referenced by Fifo< uint8_t >::capacity(), Fifo< uint8_t >::empty(), Fifo< uint8_t >::flush(), Fifo< uint8_t >::peek(), Fifo< uint8_t >::read(), Fifo< uint8_t >::size(), and Fifo< uint8_t >::write().