#include <string>
#include <valarray>
#include <vector>
-#include <hash_map>
#include "Date.hh"
class Data {
public:
Data(int size);
- Data(int size, double default_value);
- Data(std::vector<double> vector_param, plp::Date *date_param);
- Data(std::valarray<double> value_arr_param, plp::Date *date_param);
+ Data(int size, double default_value, std::string unit_param);
+ Data(std::vector<double> *val_vector_param);
+ Data(std::vector<double> *val_vector_param, std::string unit_param);
+ Data(std::vector<double> *val_vector_param, plp::Date *date_param, std::string unit_param);
+ Data(std::valarray<double> *val_arr_param, plp::Date *date_param);
virtual ~Data();
- plp::Date get_date();
- void set_date(plp::Date date);
+ Data *clone();
void printout();
- static Data *parse_data_string(const std::string& dataline);
+ std::string to_string(int dec_precision);
+ std::string to_string();
+ static Data *parse_string(const std::string& data_str);
+ plp::Date get_date();
+ void set_date(plp::Date *date_param);
+ std::string get_unit();
std::valarray<double> value_arr;
private:
plp::Date date_time;
+ std::string unit;
};
class DataRange {
public:
- DataRange(Data data);
- DataRange(int value_count_per_data_item);
+ DataRange(Data *data);
+ DataRange(int item_count_per_value, std::string unit_param);
virtual ~DataRange();
- void add_data(Data data);
+ 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();
+ std::string get_unit();
+ void printout();
protected:
double *val_matrix;
std::vector<plp::Date *> date_list;
int row_count;
int column_count;
+ std::string unit;
};
}