include/DataTypeReader.h
branchv_0
changeset 2 fc3a84a62dd9
parent 1 c80d55cdb42d
child 4 da021e58c946
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/include/DataTypeReader.h	Sat Jul 14 17:01:16 2018 +0200
@@ -0,0 +1,31 @@
+#pragma once
+
+#include "DataTypeReaderBase.h"
+
+namespace relpipe {
+namespace writer {
+
+template<typename T> class DataTypeReader : public DataTypeReaderBase {
+public:
+
+	DataTypeReader(const integer_t typeId, const string_t typeCode) : DataTypeReaderBase(typeId, typeCode) {
+	}
+
+	virtual ~DataTypeReader() {
+	};
+
+	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