src/DataTypeWriterBase.h
branchv_0
changeset 16 3613617d3076
parent 15 8fd6c4d44071
child 18 90efe2db1ca8
--- a/src/DataTypeWriterBase.h	Sun Jul 22 10:26:22 2018 +0200
+++ b/src/DataTypeWriterBase.h	Sun Jul 22 17:19:25 2018 +0200
@@ -32,6 +32,15 @@
 	virtual void writeString(std::ostream& output, const string_t &stringValue) = 0;
 
 	/**
+	 * @param output output stream, should be at position where the value is to be written; the stream will not be closed not flushed after writing
+	 * @param value raw pointer to the value, must exactly match data type of this writer
+	 * @param type used as a safety mechanism to avoid wrong pointer interpretation;
+	 * should be called in this way: writeRaw(output, valuePointer, typeid(valuePointer));
+	 * if the type does not match, the RelpipeWriterException is thrown
+	 */
+	virtual void writeRaw(std::ostream& output, const void * value, const std::type_info& type) = 0;
+
+	/**
 	 * @param dataType data type code as defined in DDP L0
 	 * @return whether this class supports conversions of this type
 	 */