16#ifndef UTILS_PERSISTENCE_TRACKER_HPP
17#define UTILS_PERSISTENCE_TRACKER_HPP
63template <
typename T, u
int8 N>
100template <
typename T, u
int8 N>
104 for (uint8 i = 0; i <
_values.valsHeld(); i++) {
107 if(
_values.peekIndex(i, tmp)) {
return false;}
108 if (tmp > value) count++;
113template <
typename T, u
int8 N>
117 for (uint8 i = 0; i <
_values.valsHeld(); i++) {
120 if(
_values.peekIndex(i, tmp)) {
return false;}
121 if (tmp < value) count++;
126template <
typename T, u
int8 N>
128 if(min >= max) {
return false;}
132 for (uint8 i = 0; i <
_values.valsHeld(); i++) {
135 if(
_values.peekIndex(i, tmp)) {
return false;}
136 if (tmp > min && tmp < max) count++;
141template <
typename T, u
int8 N>
143 if(min >= max) {
return false;}
147 for (uint8 i = 0; i <
_values.valsHeld(); i++) {
150 if(
_values.peekIndex(i, tmp)) {
return false;}
151 if (tmp < min || tmp > max) count++;
Simple Circular Buffer for data storage.
Definition CircularBuffer.hpp:37
uint8 _required
Definition PersistenceTracker.hpp:97
CircularBuffer< T, N > _values
Definition PersistenceTracker.hpp:96
bool outsideRange(T min, T max)
Check if required values lie outside range between min and max.
Definition PersistenceTracker.hpp:142
bool lessThan(T value)
Checks if the required number of values tracked is less than the input.
Definition PersistenceTracker.hpp:114
~PersistenceTracker()
Definition PersistenceTracker.hpp:67
bool inRange(T min, T max)
Check if required values lie inside range between min and max.
Definition PersistenceTracker.hpp:127
void pushValue(T value)
Add a value to the persistence tracker.
Definition PersistenceTracker.hpp:71
PersistenceTracker(uint8 required=N)
Definition PersistenceTracker.hpp:66
bool greaterThan(T value)
Checks if the required number of values tracked is greater than the input.
Definition PersistenceTracker.hpp:101
Definition CircularBuffer.hpp:28