semf
semf::LastInBuffer< T > Class Template Reference

The LastInBuffer class implements a kind of circular buffer. More...

#include <lastinbuffer.h>

Inheritance diagram for semf::LastInBuffer< T >:
Inheritance graph
Collaboration diagram for semf::LastInBuffer< T >:
Collaboration graph

Public Member Functions

virtual ~LastInBuffer ()=default
 
virtual void put (T data)
 Writes data in the buffer. More...
 
void fill (T data)
 Fills the whole buffer with the same object content. More...
 
virtual T & operator[] (size_t pos) const
 Returns the entry from a specific position in the buffer. More...
 
void setPos (size_t pos)
 Sets the write position of the buffer. More...
 
size_t pos () const
 Returns the current write position. More...
 
- Public Member Functions inherited from semf::Buffer< T >
 Buffer ()=default
 
 Buffer (T buffer[], size_t bufferSize)
 Constructor with data array initialization. More...
 
virtual ~Buffer ()=default
 
void setBuffer (T buffer[], size_t bufferSize)
 Sets the data array. More...
 
virtual T & operator[] (size_t pos) const
 Returns the entry from a specific position in the buffer. More...
 
size_t size () const
 Returns the size of the buffer. More...
 
virtual size_t count () const
 Returns the number of entries stored in the buffer. More...
 
T * data () const
 Returns the pointer to the first element of the data array. More...
 

Detailed Description

template<typename T>
class semf::LastInBuffer< T >

The LastInBuffer class implements a kind of circular buffer.

Compared to RingBuffer, LastInBuffer has no write limitation: Always the oldest data will be overwritten if the buffer is full.

The data base is an array with the data type defined by the template parameter T. To use the LastInBuffer set the array in the constructor or by the function setData().

The data can be accessed by the functions

  • data() to get the pointer to the data array,
  • at() to get the element on a specific position and

The data can be stored in the buffer by the function put().

See also Buffer, LastInDmaBuffer RingBuffer and Average.

Note
For using LastInBuffer a global CriticalSection object is required.
Template Parameters
Typeof data to handle.

Definition at line 39 of file lastinbuffer.h.

Constructor & Destructor Documentation

◆ ~LastInBuffer()

template<typename T >
virtual semf::LastInBuffer< T >::~LastInBuffer ( )
virtualdefault

Member Function Documentation

◆ fill()

template<typename T >
void semf::LastInBuffer< T >::fill ( data)

Fills the whole buffer with the same object content.

Parameters
dataThe data which should be written into the whole buffer.

Definition at line 87 of file lastinbuffer.h.

Here is the call graph for this function:

◆ operator[]()

template<typename T >
T & semf::LastInBuffer< T >::operator[] ( size_t  pos) const
virtual

Returns the entry from a specific position in the buffer.

Parameters
posPosition in the buffer.
Returns
Entry.

Reimplemented from semf::Buffer< T >.

Reimplemented in semf::LastInDmaBuffer< T >.

Definition at line 98 of file lastinbuffer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pos()

template<typename T >
size_t semf::LastInBuffer< T >::pos

Returns the current write position.

Returns
Position the next data will be written to.

Definition at line 115 of file lastinbuffer.h.

◆ put()

template<typename T >
void semf::LastInBuffer< T >::put ( data)
virtual

Writes data in the buffer.

Parameters
dataData to write in the buffer.

Reimplemented in semf::LastInDmaBuffer< T >.

Definition at line 78 of file lastinbuffer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPos()

template<typename T >
void semf::LastInBuffer< T >::setPos ( size_t  pos)

Sets the write position of the buffer.

Parameters
posWrite position.

Definition at line 109 of file lastinbuffer.h.

Here is the caller graph for this function: