/** \file default_data_set.hpp \brief default implement of data set \author Junhua Gu */ #ifndef DEFAULT_DATA_SET #define DEFAULT_DATA_SET #define OPT_HEADER #include "core/fitter.hpp" #include namespace opt_utilities { /** \brief default implement of the data set \tparam Ty type of y \tparam Tx type of x */ template class default_data_set :public data_set { // private: public: std::vector > data_vec; data_set* do_clone()const { return new default_data_set(*this); } const data& do_get_data(size_t i)const { return data_vec.at(i); } size_t do_size()const { return data_vec.size(); } void do_add_data(const data& d) { data_vec.push_back(d); } void do_clear() { data_vec.clear(); } public: default_data_set() {} default_data_set(const default_data_set& rhs) :data_vec(rhs.data_vec) {} default_data_set(const data_set& rhs) { data_vec.resize(rhs.size()); for(int i=0;i& rhs) { data_vec=rhs.data_vec; return *this; } default_data_set& operator=(const data_set& rhs) { data_vec.resize(rhs.size()); for(int i=0;i