src/DataTypeWriterBase.h
branchv_0
changeset 16 3613617d3076
parent 15 8fd6c4d44071
child 18 90efe2db1ca8
equal deleted inserted replaced
15:8fd6c4d44071 16:3613617d3076
    30 	 * See Relational pipes format specification for details.
    30 	 * See Relational pipes format specification for details.
    31 	 */
    31 	 */
    32 	virtual void writeString(std::ostream& output, const string_t &stringValue) = 0;
    32 	virtual void writeString(std::ostream& output, const string_t &stringValue) = 0;
    33 
    33 
    34 	/**
    34 	/**
       
    35 	 * @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
       
    36 	 * @param value raw pointer to the value, must exactly match data type of this writer
       
    37 	 * @param type used as a safety mechanism to avoid wrong pointer interpretation;
       
    38 	 * should be called in this way: writeRaw(output, valuePointer, typeid(valuePointer));
       
    39 	 * if the type does not match, the RelpipeWriterException is thrown
       
    40 	 */
       
    41 	virtual void writeRaw(std::ostream& output, const void * value, const std::type_info& type) = 0;
       
    42 
       
    43 	/**
    35 	 * @param dataType data type code as defined in DDP L0
    44 	 * @param dataType data type code as defined in DDP L0
    36 	 * @return whether this class supports conversions of this type
    45 	 * @return whether this class supports conversions of this type
    37 	 */
    46 	 */
    38 	virtual bool supports(const TypeId &dataType) {
    47 	virtual bool supports(const TypeId &dataType) {
    39 		return dataType == typeId;
    48 		return dataType == typeId;