#ifndef DEVICE_VR_UTIL_SAMPLE_QUEUE_H_
#define DEVICE_VR_UTIL_SAMPLE_QUEUE_H_
#include <cstddef>
#include <vector>
#include "base/component_export.h"
namespace device {
class COMPONENT_EXPORT(DEVICE_VR_UTIL) SampleQueue {
public:
explicit SampleQueue(size_t window_size);
SampleQueue(const SampleQueue&) = delete;
SampleQueue& operator=(const SampleQueue&) = delete;
~SampleQueue();
int64_t GetSum() const { return sum_; }
void AddSample(int64_t value);
size_t GetCount() const { return samples_.size(); }
size_t GetWindowSize() const { return window_size_; }
private:
int64_t sum_ = 0;
size_t current_index_ = 0;
size_t window_size_;
std::vector<int64_t> samples_;
};
}
#endif