3 #ifndef VISR_RBBL_PARAMETRIC_IIR_COEFFICIENT_HPP_INCLUDED 4 #define VISR_RBBL_PARAMETRIC_IIR_COEFFICIENT_HPP_INCLUDED 8 #include <boost/property_tree/ptree_fwd.hpp> 35 static Type stringToTypeId( std::string
const & name );
37 static std::string
const & typeIdToString(
Type typeId );
45 template<
typename CoefficientType =
float>
59 CoefficientType centerFrequency,
60 CoefficientType quality,
61 CoefficientType gain = static_cast<CoefficientType>(0.0) );
63 Type
type()
const {
return mType; }
65 CoefficientType
frequency()
const {
return mFrequency; }
67 CoefficientType
quality()
const {
return mQuality; }
69 CoefficientType
gain()
const {
return mGain; }
71 void setType( Type newType );
73 void setFrequency( CoefficientType newFrequency );
75 void setQuality( CoefficientType newQuality );
77 void setGain( CoefficientType newGain );
99 void loadJson( boost::property_tree::ptree
const & tree );
101 void loadJson( std::basic_istream<char> & stream );
103 void loadJson( std::string
const & str );
106 void loadXml( boost::property_tree::ptree
const & tree );
108 void loadXml( std::basic_istream<char> & stream );
110 void loadXml( std::string
const & str);
117 void writeJson( boost::property_tree::ptree & tree )
const;
119 void writeJson( std::basic_ostream<char> & stream )
const;
121 void writeJson( std::string & str )
const;
123 void writeXml( boost::property_tree::ptree & tree )
const;
125 void writeXml ( std::basic_ostream<char> & stream )
const;
127 void writeXml ( std::string & str )
const;
136 CoefficientType mFrequency;
138 CoefficientType mQuality;
144 CoefficientType mGain;
147 template<
typename CoefficientType >
183 : mCoeffs( numCoeffs, initialValue )
188 : mCoeffs( initList )
192 void loadJson( boost::property_tree::ptree
const & tree );
194 void loadJson( std::basic_istream<char> & stream );
196 void loadJson( std::string
const & str );
198 void loadXml( boost::property_tree::ptree
const & tree );
200 void loadXml( std::basic_istream<char> & stream );
202 void loadXml( std::string
const & str );
204 void writeJson( boost::property_tree::ptree & tree )
const;
206 void writeJson( std::basic_ostream<char> & stream )
const;
208 void writeJson( std::string & str )
const;
210 void writeXml( boost::property_tree::ptree & tree )
const;
212 void writeXml( std::basic_ostream<char> & stream )
const;
214 void writeXml( std::string & str )
const;
216 std::size_t
size()
const {
return mCoeffs.size(); }
220 mCoeffs.resize( newSize );
221 std::fill( begin(), end(),
Element() );
224 bool empty()
const {
return mCoeffs.empty(); }
229 Element const &
at( std::size_t index )
const {
return mCoeffs.at(index); }
230 Element &
at( std::size_t index ) {
return mCoeffs.at( index ); }
248 #endif // VISR_RBBL_PARAMETRIC_IIR_COEFFICIENT_HPP_INCLUDED Element & operator[](std::size_t index)
Definition: parametric_iir_coefficient.hpp:227
Definition: parametric_iir_coefficient.hpp:46
iterator end()
Definition: parametric_iir_coefficient.hpp:237
Element const & at(std::size_t index) const
Definition: parametric_iir_coefficient.hpp:229
CoefficientType quality() const
Definition: parametric_iir_coefficient.hpp:67
Type
Definition: parametric_iir_coefficient.hpp:23
const_iterator begin() const
Definition: parametric_iir_coefficient.hpp:233
std::vector< Element > Container
Definition: parametric_iir_coefficient.hpp:152
Definition: options.cpp:10
typename Container::const_iterator const_iterator
Definition: parametric_iir_coefficient.hpp:153
Type type() const
Definition: parametric_iir_coefficient.hpp:63
Element & at(std::size_t index)
Definition: parametric_iir_coefficient.hpp:230
const_iterator end() const
Definition: parametric_iir_coefficient.hpp:234
ParametricIirCoefficientList(std::initializer_list< ParametricIirCoefficient< CoefficientType > > initList)
Definition: parametric_iir_coefficient.hpp:187
Element const & operator[](std::size_t index) const
Definition: parametric_iir_coefficient.hpp:226
std::size_t size() const
Definition: parametric_iir_coefficient.hpp:216
CoefficientType gain() const
Definition: parametric_iir_coefficient.hpp:69
void resize(std::size_t newSize)
Definition: parametric_iir_coefficient.hpp:218
Definition: parametric_iir_coefficient.hpp:148
bool empty() const
Definition: parametric_iir_coefficient.hpp:224
ParametricIirCoefficientList(std::size_t numCoeffs, ParametricIirCoefficient< CoefficientType > const &initialValue)
Definition: parametric_iir_coefficient.hpp:181
typename Container::iterator iterator
Definition: parametric_iir_coefficient.hpp:154
CoefficientType frequency() const
Definition: parametric_iir_coefficient.hpp:65
Definition: parametric_iir_coefficient.hpp:20
iterator begin()
Definition: parametric_iir_coefficient.hpp:236
Definition: parametric_iir_coefficient.cpp:22