|
Nebula
|
#include <binarywriter.h>
A friendly interface for writing binary data to a stream.
Optionally the writer can use memory mapping for optimal write performance.
Inherits IO::StreamWriter.
Public Member Functions | |
| BinaryWriter () | |
| constructor | |
| virtual | ~BinaryWriter () |
| destructor | |
| void | SetMemoryMappingEnabled (bool b) |
| call before Open() to enable memory mapping (if stream supports mapping) | |
| bool | IsMemoryMappingEnabled () const |
| return true if memory mapping is enabled | |
| void | SetStreamByteOrder (System::ByteOrder::Type byteOrder) |
| set the stream byte order (default is host byte order) | |
| System::ByteOrder::Type | GetStreamByteOrder () const |
| get the stream byte order | |
| virtual bool | Open () |
| begin reading from the stream | |
| virtual void | Close () |
| end reading from the stream | |
| void | WriteChar (char c) |
| write an 8-bit char to the stream | |
| void | WriteUChar (unsigned char c) |
| write an 8-bit unsigned char to the stream | |
| void | WriteShort (short s) |
| write an 16-bit short to the stream | |
| void | WriteUShort (unsigned short s) |
| write an 16-bit unsigned short to the stream | |
| void | WriteInt (int i) |
| write an 32-bit int to the stream | |
| void | WriteUInt (unsigned int i) |
| write an 32-bit unsigned int to the stream | |
| void | WriteInt64 (int64_t i) |
| write an 64-bit signed int to the stream | |
| void | WriteUInt64 (uint64_t i) |
| write an 64-bit unsigned int to the stream | |
| void | WriteFloat (float f) |
| write a float value to the stream | |
| void | WriteFloatAsNormalizedUByte2 (float f) |
| write a compressed float value to the stream, lossy and needed to be in the range of -1.0 and +1.0 | |
| void | WriteFloatAsUnsignedNormalizedUByte2 (float f) |
| write a compressed float value to the stream, lossy and needed to be in the range of 0.0 and +1.0 | |
| void | WriteDouble (double d) |
| write a double value to the stream | |
| void | WriteBool (bool b) |
| write a boolean value to the stream | |
| void | WriteString (const Util::String &s) |
| write a string to the stream | |
| void | WriteVec2 (Math::vec2 f) |
| write a float value to the stream | |
| void | WriteVec3 (const Math::vec3 &v) |
| write a vec4 to the stream | |
| void | WriteVec4 (const Math::vec4 &v) |
| write a vec4 to the stream | |
| void | WriteMat4 (const Math::mat4 &m) |
| write a mat4 to the stream | |
| void | WriteFloatArray (const Util::Array< float > &arr) |
| write a float array to the stream | |
| void | WriteIntArray (const Util::Array< int > &arr) |
| write a int array to the stream | |
| void | WriteUIntArray (const Util::Array< uint > &arr) |
| write a unsigned int array to the stream | |
| void | WriteBoolArray (const Util::Array< bool > &arr) |
| write a bool array to the stream | |
| void | WriteGuid (const Util::Guid &guid) |
| write a guid | |
| void | WriteBlob (const Util::Blob &blob) |
| write a blob of data | |
| void | WriteRawData (const void *ptr, SizeT numBytes) |
| write raw data | |
Public Member Functions inherited from IO::StreamWriter | |
| StreamWriter () | |
| constructor | |
| virtual | ~StreamWriter () |
| destructor | |
| void | SetStream (const Ptr< Stream > &s) |
| set stream to write to | |
| const Ptr< Stream > & | GetStream () const |
| get currently set stream | |
| bool | HasStream () const |
| return true if a stream is set | |
| bool | IsOpen () const |
| return true if currently open | |
Public Member Functions inherited from Core::RefCounted | |
| RefCounted () | |
| constructor | |
| int | GetRefCount () const |
| get the current refcount | |
| void | AddRef () |
| increment refcount by one | |
| void | Release () |
| decrement refcount and destroy object if refcount is zero | |
| bool | IsInstanceOf (const Rtti &rtti) const |
| return true if this object is instance of given class | |
| bool | IsInstanceOf (const Util::String &className) const |
| return true if this object is instance of given class by string | |
| bool | IsInstanceOf (const Util::FourCC &classFourCC) const |
| return true if this object is instance of given class by fourcc | |
| bool | IsA (const Rtti &rtti) const |
| return true if this object is instance of given class, or a derived class | |
| bool | IsA (const Util::String &rttiName) const |
| return true if this object is instance of given class, or a derived class, by string | |
| bool | IsA (const Util::FourCC &rttiFourCC) const |
| return true if this object is instance of given class, or a derived class, by fourcc | |
| const Util::String & | GetClassName () const |
| get the class name | |
| Util::FourCC | GetClassFourCC () const |
| get the class FourCC code | |
Public Attributes | |
| bool | enableMapping |
| bool | isMapped |
| System::ByteOrder | byteOrder |
| unsigned char * | mapCursor |
| unsigned char * | mapEnd |
Private Member Functions | |
| __DeclareClass (BinaryWriter) | |
Additional Inherited Members | |
Static Public Member Functions inherited from Core::RefCounted | |
| static void | DumpRefCountingLeaks () |
| dump refcounting leaks, call at end of application (NEBULA_DEBUG builds only!) | |
Protected Member Functions inherited from Core::RefCounted | |
| virtual | ~RefCounted () |
| destructor (called when refcount reaches zero) | |
Protected Attributes inherited from IO::StreamWriter | |
| Ptr< Stream > | stream |
| bool | isOpen |
| bool | streamWasOpen |
| IO::BinaryWriter::BinaryWriter | ( | ) |
constructor
|
virtual |
destructor
|
private |
|
virtual |
end reading from the stream
Reimplemented from IO::StreamWriter.
|
inline |
get the stream byte order
|
inline |
return true if memory mapping is enabled
|
virtual |
begin reading from the stream
Reimplemented from IO::StreamWriter.
|
inline |
call before Open() to enable memory mapping (if stream supports mapping)
|
inline |
set the stream byte order (default is host byte order)
| void IO::BinaryWriter::WriteBlob | ( | const Util::Blob & | blob | ) |
write a blob of data
| void IO::BinaryWriter::WriteBool | ( | bool | b | ) |
write a boolean value to the stream
| void IO::BinaryWriter::WriteBoolArray | ( | const Util::Array< bool > & | arr | ) |
write a bool array to the stream
| void IO::BinaryWriter::WriteChar | ( | char | c | ) |
write an 8-bit char to the stream
| void IO::BinaryWriter::WriteDouble | ( | double | d | ) |
write a double value to the stream
| void IO::BinaryWriter::WriteFloat | ( | float | f | ) |
write a float value to the stream
| void IO::BinaryWriter::WriteFloatArray | ( | const Util::Array< float > & | arr | ) |
write a float array to the stream
| void IO::BinaryWriter::WriteFloatAsNormalizedUByte2 | ( | float | f | ) |
write a compressed float value to the stream, lossy and needed to be in the range of -1.0 and +1.0
| void IO::BinaryWriter::WriteFloatAsUnsignedNormalizedUByte2 | ( | float | f | ) |
write a compressed float value to the stream, lossy and needed to be in the range of 0.0 and +1.0
| void IO::BinaryWriter::WriteGuid | ( | const Util::Guid & | guid | ) |
write a guid
| void IO::BinaryWriter::WriteInt | ( | int | i | ) |
write an 32-bit int to the stream
| void IO::BinaryWriter::WriteInt64 | ( | int64_t | i | ) |
write an 64-bit signed int to the stream
| void IO::BinaryWriter::WriteIntArray | ( | const Util::Array< int > & | arr | ) |
write a int array to the stream
| void IO::BinaryWriter::WriteMat4 | ( | const Math::mat4 & | m | ) |
write a mat4 to the stream
| void IO::BinaryWriter::WriteRawData | ( | const void * | ptr, |
| SizeT | numBytes ) |
write raw data
| void IO::BinaryWriter::WriteShort | ( | short | s | ) |
write an 16-bit short to the stream
| void IO::BinaryWriter::WriteString | ( | const Util::String & | s | ) |
write a string to the stream
NOTE: for strings, first the length will be written into a 32-bit int, then the string contents without the 0-terminator.
| void IO::BinaryWriter::WriteUChar | ( | unsigned char | c | ) |
write an 8-bit unsigned char to the stream
| void IO::BinaryWriter::WriteUInt | ( | unsigned int | i | ) |
write an 32-bit unsigned int to the stream
| void IO::BinaryWriter::WriteUInt64 | ( | uint64_t | i | ) |
write an 64-bit unsigned int to the stream
| void IO::BinaryWriter::WriteUIntArray | ( | const Util::Array< uint > & | arr | ) |
write a unsigned int array to the stream
| void IO::BinaryWriter::WriteUShort | ( | unsigned short | s | ) |
write an 16-bit unsigned short to the stream
| void IO::BinaryWriter::WriteVec2 | ( | Math::vec2 | f | ) |
write a float value to the stream
| void IO::BinaryWriter::WriteVec3 | ( | const Math::vec3 & | v | ) |
write a vec4 to the stream
| void IO::BinaryWriter::WriteVec4 | ( | const Math::vec4 & | v | ) |
write a vec4 to the stream
| System::ByteOrder IO::BinaryWriter::byteOrder |
| bool IO::BinaryWriter::enableMapping |
| bool IO::BinaryWriter::isMapped |
| unsigned char* IO::BinaryWriter::mapCursor |
| unsigned char* IO::BinaryWriter::mapEnd |