#ifndef SOIL_MOISTURE_IO_H #define SOIL_MOISTURE_IO_H #include #include #include namespace trygvis { namespace soil_moisture { using namespace std; class SampleOutputStream { public: typedef map it; virtual void write(it values) = 0; }; class CsvSampleOutputStream : public SampleOutputStream { public: CsvSampleOutputStream(ostream& stream, vector fields); void write(it values); private: ostream& stream; vector fields; }; class JsonSampleOutputStream : public SampleOutputStream { public: JsonSampleOutputStream(ostream& stream, vector fields); void write(it values); private: ostream& stream; vector fields; }; class SqlSampleOutputStream : public SampleOutputStream { public: SqlSampleOutputStream(ostream& stream, vector fields); void write(it values); private: ostream& stream; vector fields; }; } } #endif