#ifndef BIQUADSTACK_H #define BIQUADSTACK_H #include #include "BiQuad.h" namespace IIR { template class BiQuadStack { std::vector> filters; public: BiQuadStack() { ; } BiQuadStack(const int num) { filters.resize(num); } void resize(const int num) { filters.resize(num); } BiQuad& operator [] (const size_t idx) { return filters.at(idx); } Scalar filter(Scalar val) { for (BiQuad& bq : filters) { val = bq.filter(val); } return val; } }; } #endif // BIQUADSTACK_H