diff options
author | Thomas Tsou <tom@tsou.cc> | 2013-11-09 14:30:41 -0500 |
---|---|---|
committer | Thomas Tsou <tom@tsou.cc> | 2013-11-15 23:35:07 -0500 |
commit | 20eb6d64fdf6ca5b547cb1f16f67c7c9f2c45ef0 (patch) | |
tree | 424b2e4dc3cf4bb6c98b9025f7a6fb7509b918d7 /Transceiver52M/signalVector.h | |
parent | e0fa2bfd937406cbaf992f8d16d0a262dd6ddd87 (diff) |
Transceiver52M: Separate signalVector into it's own file
Break out the signalVector object and clean up the interface in the
process.
Signed-off-by: Thomas Tsou <tom@tsou.cc>
Diffstat (limited to 'Transceiver52M/signalVector.h')
-rw-r--r-- | Transceiver52M/signalVector.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Transceiver52M/signalVector.h b/Transceiver52M/signalVector.h new file mode 100644 index 0000000..2f65e28 --- /dev/null +++ b/Transceiver52M/signalVector.h @@ -0,0 +1,51 @@ +#ifndef _SIGNALVECTOR_H_ +#define _SIGNALVECTOR_H_ + +#include <Vector.h> +#include <Complex.h> + +/** Vector symmetry */ +enum Symmetry { + NONE = 0, + ABSSYM = 1 +}; + +class signalVector: public Vector<complex> { +public: + /** Default constructor */ + signalVector(size_t size = 0); + + /** Construct with head room */ + signalVector(size_t size, size_t start); + + /** Construct from existing buffer data (buffer not managed) */ + signalVector(complex *data, size_t start, size_t span); + + /** Construct by from existing vector */ + signalVector(const signalVector &vector); + + /** Construct by from existing vector and append head-tail room */ + signalVector(const signalVector &vector, size_t start, size_t tail = 0); + + /** Override base assignment operator to include start offsets */ + void operator=(const signalVector& vector); + + /** Return head room */ + size_t getStart() const; + + Symmetry getSymmetry() const; + void setSymmetry(Symmetry symmetry); + + bool isReal() const; + void isReal(bool real); + + bool isAligned() const; + void setAligned(bool aligned); + +private: + Symmetry symmetry; + bool real; + bool aligned; +}; + +#endif /* _SIGNALVECTOR_H_ */ |