/* Dataset provides a class for processing numerical data
 * ...
 */
 
#include <fstream>
#include <vector>
#include <string>
#include <cassert>
using namespace std;
 
class Dataset
{
 public:
   // constructor
   Dataset(const string& fileName);
   
   // accessors
   string         getTitle()          const;
   vector<double> getValues()         const;   // exercise
   double         getValue(int index) const;
   
  // output
   void           print(ostream& out) const;   // exercise
   string         asString()          const;   // exercise
   
  // statistics
   double         getMin()            const;   // exercise
   double         getMax()            const;   // exercise
   double         getMean()           const;
   double         getMedian()         const;
   double         getStandardDev()    const;   // exercise
   
   // ... other operations omitted ...
   
 private:
   vector<double> myValues;
   string myTitle;
};


inline string Dataset::getTitle() const
{
  return myTitle;
}


inline double Dataset::getValue(int index) const
{
  assert(0 <= index && index < myValues.size());
  return myValues[index];
}


