#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 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;
};
}
}