BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
belfem::ShiftRegister< T > Class Template Reference

Fixed-capacity FIFO with history, for time-stepping. More...

#include <cl_ShiftRegister.hpp>

Public Member Functions

 ShiftRegister (const size_t aCapacity)
 ShiftRegister (const size_t aCapacity, const T &aInitValue)
 ShiftRegister (const std::initializer_list< T > &aInitList)
 ShiftRegister (const ShiftRegister &aOther)
 ShiftRegister (ShiftRegister &&aOther) noexcept
ShiftRegisteroperator= (const ShiftRegister &aOther)
ShiftRegisteroperator= (ShiftRegister &&aOther) noexcept
 ~ShiftRegister ()
void push (T &aValue)
void push (const T &aValue)
void revert ()
T & operator() (const uint aIndex)
 Access element by index (0 = newest, N-1 = oldest).
const T & operator() (const uint aIndex) const
 Access element by index (const version).
auto size () const -> decltype(mSize)
 Get current number of elements.
auto capacity () const -> decltype(mCapacity)
 Get maximum capacity.
bool empty () const
 Check if the register is empty.
bool full () const
 Check if the register is full.
void clear ()
 Clear all elements.
T * data ()
 Get raw pointer to data array.
const T * data () const
 Get raw pointer to data array (const version).
T * begin ()
T * end ()
const T * begin () const
const T * end () const
void fill (const T aValue)
void reserve (const index_t aCapacity)
void free ()

Detailed Description

template<typename T>
class belfem::ShiftRegister< T >

Fixed-capacity FIFO with history, for time-stepping.

See also
BELFEM Container Classes - Usage Guide

Constructor & Destructor Documentation

◆ ShiftRegister() [1/5]

template<typename T>
belfem::ShiftRegister< T >::ShiftRegister ( const size_t aCapacity)
inline

◆ ShiftRegister() [2/5]

template<typename T>
belfem::ShiftRegister< T >::ShiftRegister ( const size_t aCapacity,
const T & aInitValue )
inline

◆ ShiftRegister() [3/5]

template<typename T>
belfem::ShiftRegister< T >::ShiftRegister ( const std::initializer_list< T > & aInitList)
inline

◆ ShiftRegister() [4/5]

template<typename T>
belfem::ShiftRegister< T >::ShiftRegister ( const ShiftRegister< T > & aOther)
inline

◆ ShiftRegister() [5/5]

template<typename T>
belfem::ShiftRegister< T >::ShiftRegister ( ShiftRegister< T > && aOther)
inlinenoexcept

◆ ~ShiftRegister()

template<typename T>
belfem::ShiftRegister< T >::~ShiftRegister ( )
inline

Member Function Documentation

◆ begin() [1/2]

template<typename T>
T * belfem::ShiftRegister< T >::begin ( )
inline

◆ begin() [2/2]

template<typename T>
const T * belfem::ShiftRegister< T >::begin ( ) const
inline

◆ capacity()

template<typename T>
auto belfem::ShiftRegister< T >::capacity ( ) const -> decltype(mCapacity)
inline

Get maximum capacity.

◆ clear()

template<typename T>
void belfem::ShiftRegister< T >::clear ( )
inline

Clear all elements.

◆ data() [1/2]

template<typename T>
T * belfem::ShiftRegister< T >::data ( )
inline

Get raw pointer to data array.

◆ data() [2/2]

template<typename T>
const T * belfem::ShiftRegister< T >::data ( ) const
inline

Get raw pointer to data array (const version).

◆ empty()

template<typename T>
bool belfem::ShiftRegister< T >::empty ( ) const
inline

Check if the register is empty.

◆ end() [1/2]

template<typename T>
T * belfem::ShiftRegister< T >::end ( )
inline

◆ end() [2/2]

template<typename T>
const T * belfem::ShiftRegister< T >::end ( ) const
inline

◆ fill()

template<typename T>
void belfem::ShiftRegister< T >::fill ( const T aValue)
inline

◆ free()

template<typename T>
void belfem::ShiftRegister< T >::free ( )
inline

◆ full()

template<typename T>
bool belfem::ShiftRegister< T >::full ( ) const
inline

Check if the register is full.

◆ operator()() [1/2]

template<typename T>
T & belfem::ShiftRegister< T >::operator() ( const uint aIndex)
inline

Access element by index (0 = newest, N-1 = oldest).

◆ operator()() [2/2]

template<typename T>
const T & belfem::ShiftRegister< T >::operator() ( const uint aIndex) const
inline

Access element by index (const version).

◆ operator=() [1/2]

template<typename T>
ShiftRegister & belfem::ShiftRegister< T >::operator= ( const ShiftRegister< T > & aOther)
inline

◆ operator=() [2/2]

template<typename T>
ShiftRegister & belfem::ShiftRegister< T >::operator= ( ShiftRegister< T > && aOther)
inlinenoexcept

◆ push() [1/2]

template<typename T>
void belfem::ShiftRegister< T >::push ( const T & aValue)
inline

◆ push() [2/2]

template<typename T>
void belfem::ShiftRegister< T >::push ( T & aValue)
inline

◆ reserve()

template<typename T>
void belfem::ShiftRegister< T >::reserve ( const index_t aCapacity)
inline

◆ revert()

template<typename T>
void belfem::ShiftRegister< T >::revert ( )
inline

◆ size()

template<typename T>
auto belfem::ShiftRegister< T >::size ( ) const -> decltype(mSize)
inline

Get current number of elements.


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