#pragma once #include "TimeSeries.h" #include #include class ConcreteTimeSeries : public ITimeSeries { public: ConcreteTimeSeries(std::string n, std::map values); virtual ~ConcreteTimeSeries(); virtual double Value(unsigned int year) const; virtual ITimeSeries* CrossSection(unsigned int year_start, unsigned int year_end) const; virtual unsigned int StartYear() const {return data.begin()->first;} virtual unsigned int EndYear() const {return data.rbegin()->first;} virtual std::string getName() const {return name;} virtual void setName(std::string n) {name = n;} virtual std::string getDescription() const {return desc;} virtual void setDescription(std::string d) {desc = d;} protected: std::map data; std::string name; std::string desc; };