include/DataTypeWriter.h
branchv_0
changeset 2 1a574113da20
parent 1 6e3494943c91
child 5 7fe870c3362f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/include/DataTypeWriter.h	Mon Jul 09 00:43:35 2018 +0200
@@ -0,0 +1,31 @@
+#pragma once
+
+#include "DataTypeWriterBase.h"
+
+namespace relpipe {
+namespace writer {
+
+template<typename T> class DataTypeWriter : public DataTypeWriterBase {
+public:
+
+	DataTypeWriter(const integer_t typeId, const string_t typeCode) : DataTypeWriterBase(typeId, typeCode) {
+	}
+
+	virtual ~DataTypeWriter() {
+	};
+
+	virtual T readValue(std::istream& input) = 0;
+
+	virtual string_t readString(std::istream &input);
+
+	virtual void writeValue(std::ostream& output, const T& value) = 0;
+
+	virtual void writeString(std::ostream& output, const string_t &stringValue);
+
+	virtual T toValue(const string_t &stringValue) = 0;
+	virtual string_t toString(const T& value) = 0;
+
+};
+
+}
+}
\ No newline at end of file