This repository has been archived on 2020-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Files
Indoor/math/Delay.h
k-a-z-u 38b633b9be fixed some plotting issues
modified step detection
2018-06-06 11:21:00 +02:00

48 lines
628 B
C++

#ifndef DELAY_H
#define DELAY_H
#include <cstdint>
#include <vector>
template <typename T> class Delay {
private:
size_t size;
/** up to "size" elements */
std::vector<T> values;
public:
/** ctor */
Delay(const int size) : size(size) {;}
/** add a new value */
void add(const T val) {
// add new value
values.push_back(val);
// remove old ones
while(values.size() > size) {
values.erase(values.begin());
}
}
/** get the delayed value */
T get() const {
return values.front();
}
/** delay output valid? */
bool isValid() const {
return values.size() == size;
}
};
#endif // DELAY_H