include/DataTypeWriter.h
branchv_0
changeset 1 c80d55cdb42d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/include/DataTypeWriter.h	Sat Jul 14 16:58:33 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