/* * Data.hh * * Created on: Dec 8, 2010 * Author: lamikr */ #ifndef DATA_HH_ #define DATA_HH_ #include #include #include #include "Date.hh" namespace w1 { class Data { public: Data(int size); Data(int size, double default_value); Data(std::vector vector_param, plp::Date *date_param); Data(std::valarray value_arr_param, plp::Date *date_param); virtual ~Data(); Data *clone(); plp::Date get_date(); void set_date(plp::Date date); void printout(); static Data *parse_data_string(const std::string& dataline); std::valarray value_arr; private: plp::Date date_time; }; class DataRange { public: DataRange(Data data); DataRange(int value_count_per_data_item); virtual ~DataRange(); void add_data(Data data); Data *get_data(int row_index); Data *get_first_data(); Data *get_last_data(); int get_data_row_count(); int get_data_column_count(); void printout(); protected: double *val_matrix; std::vector date_list; int row_count; int column_count; }; } #endif /* DATA_HH_ */