27 lines
453 B
C++
27 lines
453 B
C++
![]() |
#pragma once
|
||
|
|
||
|
#include <complex>
|
||
|
#include <deque>
|
||
|
|
||
|
typedef std::complex<double> CmplxDouble;
|
||
|
|
||
|
typedef struct {
|
||
|
double t;
|
||
|
CmplxDouble val;
|
||
|
bool valid = true;
|
||
|
} Sample;
|
||
|
|
||
|
static const Sample invalidSample{ 0.f, 0.f, false };
|
||
|
|
||
|
class Signal
|
||
|
{
|
||
|
public:
|
||
|
Signal() = default;
|
||
|
~Signal() = default;
|
||
|
|
||
|
friend Signal& operator<<(Signal& sig, const Sample& sample);
|
||
|
friend Signal& operator>>(Signal& sig, Sample& sample);
|
||
|
|
||
|
private:
|
||
|
std::deque<Sample> buffer;
|
||
|
};
|