DataFormatBaseWriterInterface Class Reference

#include <dataformat_base.h>

Inheritance diagram for DataFormatBaseWriterInterface:

Detailed Description

This class serializes data into IoStreams. It defines a file format for each data type.

Public Member Functions

MAXON_METHOD Result< void > CloseOutput ()
 
 MAXON_ADD_TO_REFERENCE_CLASS (Result< void > ResetMaybeCloseOutput() { Result< void > res=OK;if(this->GetPointer()) { if(System::GetReferenceCounter(this->GetPointer())==1) res=this->GetPointer() ->CloseOutput();this->ResetReference();} return res;})
 
MAXON_METHOD Result< void > WriteData (const void *data, Int dataSize, Int elementCount)
 
MAXON_METHOD Result< void > Flush ()
 
template<typename T >
MAXON_FUNCTION Result< void > Write (const Block< const T > &data)
 

Private Member Functions

 MAXON_INTERFACE (DataFormatBaseWriterInterface, MAXON_REFERENCE_NORMAL, "net.maxon.interface.dataformatbasewriter", MAXON_IMPLEMENTATION_MODULE("net.maxon.kernel"))
 

Member Function Documentation

◆ MAXON_INTERFACE()

MAXON_INTERFACE ( DataFormatBaseWriterInterface  ,
MAXON_REFERENCE_NORMAL  ,
"net.maxon.interface.dataformatbasewriter"  ,
MAXON_IMPLEMENTATION_MODULE("net.maxon.kernel")   
)
private

◆ CloseOutput()

MAXON_METHOD Result<void> CloseOutput ( )

Close the stream and the stream handle.

Returns
OK on success.

◆ MAXON_ADD_TO_REFERENCE_CLASS()

MAXON_ADD_TO_REFERENCE_CLASS ( Result< void > ResetMaybeCloseOutput() { Result< void > res=OK;if(this->GetPointer()) { if(System::GetReferenceCounter(this->GetPointer())==1) res=this->GetPointer() ->CloseOutput();this->ResetReference();} return res;}  )

◆ WriteData()

MAXON_METHOD Result<void> WriteData ( const void *  data,
Int  dataSize,
Int  elementCount 
)

Writes data to the stream and keeps the right byte order. If a Int64 is written into the stream on a little endian system it will be flipped when reading into a big endian system.

Parameters
[in]dataPointer to a memory address with the data.
[in]dataSizeSize of the data to write. Possible sizes are 1 (without byte order changes) or 2, 4, 8 (with byte order correction).
[in]elementCountNumber of data elements.
Returns
OK on success.

◆ Flush()

MAXON_METHOD Result<void> Flush ( )

Flushes the output stream and forces any buffered output to be written.

Returns
OK on success.

◆ Write()

MAXON_FUNCTION Result<void> Write ( const Block< const T > &  data)

Writes data to the stream and keeps the right byte order.

Parameters
[in]dataData to write into the stream.
Returns
OK on success. @MAXON_ANNOTATION{returnsThis}