Add missing TAverage.hpp

Former-commit-id: e8133e9476
This commit is contained in:
Luke Street 2022-10-02 17:53:28 -04:00
parent 2df36f08d9
commit 5da4fc096b
1 changed files with 29 additions and 0 deletions

View File

@ -0,0 +1,29 @@
#ifndef _TAVERAGE_HPP
#define _TAVERAGE_HPP
#include "types.h"
#include "rstl/optional_object.hpp"
#include "rstl/vector.hpp"
template < typename T >
class TAverage : rstl::vector< T > {
public:
TAverage() {}
TAverage(int capacity, const T& value);
void AddValue(const T& value) {
push_back(value);
for (int i = size() - 1; i > 0; --i) {
operator[](i) = operator[](i - 1);
}
operator[](0) = value;
}
rstl::optional_object< T > GetAverage() const;
};
template < typename T >
TAverage< T >::TAverage(int capacity, const T& value) {
resize(capacity, value);
}
#endif