Avionics
Core avionics package for CURE flight computers
Loading...
Searching...
No Matches
CircularArray< T > Class Template Reference

Fixed-size circular buffer with median helper and head tracking. More...

#include <CircularArray.h>

Collaboration diagram for CircularArray< T >:
Collaboration graph

Public Member Functions

 CircularArray (uint8_t maxSize)
 ~CircularArray ()
void push (T data)
pop ()
getFromHead (uint8_t index)
bool isFull ()
bool isEmpty ()
uint8_t getHead ()
uint8_t getMaxSize ()
getMedian ()
void clear ()

Protected Attributes

std::vector< T > array
uint8_t head
uint8_t maxSize
uint16_t pushCount

Detailed Description

template<typename T>
class CircularArray< T >

Fixed-size circular buffer with median helper and head tracking.

Note
When to use: maintain a rolling window of recent samples for filters or detectors without reallocations.

Definition at line 52 of file CircularArray.h.

Constructor & Destructor Documentation

◆ CircularArray()

template<typename T>
CircularArray< T >::CircularArray ( uint8_t maxSize)
inline

Definition at line 60 of file CircularArray.h.

◆ ~CircularArray()

template<typename T>
CircularArray< T >::~CircularArray ( )
inline

Definition at line 67 of file CircularArray.h.

Member Function Documentation

◆ clear()

template<typename T>
void CircularArray< T >::clear ( )
inline

Definition at line 130 of file CircularArray.h.

◆ getFromHead()

template<typename T>
T CircularArray< T >::getFromHead ( uint8_t index)
inline

Definition at line 90 of file CircularArray.h.

◆ getHead()

template<typename T>
uint8_t CircularArray< T >::getHead ( )
inline

Definition at line 103 of file CircularArray.h.

◆ getMaxSize()

template<typename T>
uint8_t CircularArray< T >::getMaxSize ( )
inline

Definition at line 107 of file CircularArray.h.

◆ getMedian()

template<typename T>
T CircularArray< T >::getMedian ( )
inline

Definition at line 111 of file CircularArray.h.

◆ isEmpty()

template<typename T>
bool CircularArray< T >::isEmpty ( )
inline

Definition at line 99 of file CircularArray.h.

◆ isFull()

template<typename T>
bool CircularArray< T >::isFull ( )
inline

Definition at line 95 of file CircularArray.h.

◆ pop()

template<typename T>
T CircularArray< T >::pop ( )
inline

Definition at line 79 of file CircularArray.h.

◆ push()

template<typename T>
void CircularArray< T >::push ( T data)
inline

Definition at line 71 of file CircularArray.h.

Member Data Documentation

◆ array

template<typename T>
std::vector<T> CircularArray< T >::array
protected

Definition at line 54 of file CircularArray.h.

◆ head

template<typename T>
uint8_t CircularArray< T >::head
protected

Definition at line 55 of file CircularArray.h.

◆ maxSize

template<typename T>
uint8_t CircularArray< T >::maxSize
protected

Definition at line 56 of file CircularArray.h.

◆ pushCount

template<typename T>
uint16_t CircularArray< T >::pushCount
protected

Definition at line 57 of file CircularArray.h.


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