Files
fluxengine/lib/fluxmap.h
2019-01-01 20:04:04 +01:00

35 lines
746 B
C++

#ifndef FLUXMAP_H
#define FLUXMAP_H
class Fluxmap
{
public:
uint8_t operator[](int index) const
{
return _intervals.at(index);
}
nanoseconds_t duration() const { return _duration; }
int bytes() const { return _intervals.size(); }
const uint8_t* ptr() const
{
if (!_intervals.empty())
return &_intervals.at(0);
return NULL;
}
Fluxmap& appendIntervals(std::vector<uint8_t>& intervals);
Fluxmap& appendIntervals(const uint8_t* ptr, size_t len);
nanoseconds_t guessClock() const;
std::vector<bool> decodeToBits(nanoseconds_t clock_period) const;
private:
nanoseconds_t _duration = 0;
int _ticks = 0;
std::vector<uint8_t> _intervals;
};
#endif