src/DataTypeReader.h
author František Kučera <franta-hg@frantovo.cz>
Sat, 25 Aug 2018 18:25:02 +0200
branchv_0
changeset 15 09ca53671b28
parent 14 e8de089f95dd
child 18 e11f1ad20826
permissions -rw-r--r--
remove DataTypeReader.cpp (move implementation to DataTypeReader.h)

#pragma once

#include "DataTypeReaderBase.h"

namespace relpipe {
namespace reader {

template<typename T> class DataTypeReader : public DataTypeReaderBase {
public:

	DataTypeReader(const TypeId typeId, const string_t typeCode) : DataTypeReaderBase(typeId, typeCode) {
	}

	virtual ~DataTypeReader() {
	};

	virtual T readValue(std::istream& input) = 0;

	virtual string_t readString(std::istream &input) {
		return toString(readValue(input));
	}

	virtual string_t toString(const T& value) = 0;

};

}
}