IO::BinaryReader Class Reference
#include <binaryreader.h>
Inheritance diagram for IO::BinaryReader:
Detailed Description
A friendly interface to read binary data from a stream. Optionally the reader can use memory mapping for optimal read performance. Performs automatic byte order conversion if necessary.
- Todo:
- convert endianess!
Public Member Functions | |
BinaryReader () | |
constructor | |
virtual | ~BinaryReader () |
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 | |
char | ReadChar () |
read an 8-bit char from the stream | |
unsigned char | ReadUChar () |
read an 8-bit unsigned character from the stream | |
short | ReadShort () |
read a 16-bit short from the stream | |
unsigned short | ReadUShort () |
read a 16-bit unsigned short from the stream | |
int | ReadInt () |
read a 32-bit int from the stream | |
unsigned int | ReadUInt () |
read a 32-bit unsigned int from the stream | |
float | ReadFloat () |
read a float value from the stream | |
float | ReadFloatFromNormalizedUByte2 () |
read a compressed float value from the stream, lossy and needed to be in the range of -1.0 and +1.0 | |
float | ReadFloatFromUnsignedNormalizedUByte2 () |
read a compressed float value from the stream, lossy and needed to be in the range of 0.0 and +1.0 | |
double | ReadDouble () |
read a double value from the stream | |
bool | ReadBool () |
read a bool value from the stream | |
Util::String | ReadString () |
read a string from the stream | |
Math::float2 | ReadFloat2 () |
read a float2 from the stream | |
Math::float4 | ReadFloat4 () |
read a float4 from the stream | |
Math::point | ReadPoint () |
read a point from the stream, (x,y,z,1.0) | |
Math::vector | ReadVector () |
read a vector from the stream, (x,y,z,0.0) | |
Math::matrix44 | ReadMatrix44 () |
read a matrix44 from the stream | |
Util::Guid | ReadGuid () |
read a guid | |
Util::Blob | ReadBlob () |
read a blob of data | |
void | ReadRawData (void *ptr, SizeT numBytes) |
read raw data | |
void | SetStream (const Ptr< Stream > &s) |
set stream to read from | |
const Ptr< Stream > & | GetStream () const |
get currently set stream | |
bool | HasStream () const |
return true if a stream is set | |
bool | Eof () const |
return true if the stream has reached EOF | |
bool | IsOpen () const |
return true if currently open | |
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 | |
Static Public Member Functions | |
static void | DumpRefCountingLeaks () |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!) |
Member Function Documentation
set stream to read from
Attaches the reader to a stream. This will imcrement the refcount of the stream.
Reimplemented in Messaging::MessageReader.
get currently set stream
Get pointer to the attached stream. If there is no stream attached, an assertion will be thrown. Use HasStream() to determine if a stream is attached.
bool IO::StreamReader::HasStream | ( | ) | const [inherited] |
return true if a stream is set
Returns true if a stream is attached to the reader.
int Core::RefCounted::GetRefCount | ( | ) | const [inline, inherited] |
get the current refcount
Return the current refcount of the object.
void Core::RefCounted::AddRef | ( | ) | [inline, inherited] |
increment refcount by one
Increment the refcount of the object.
void Core::RefCounted::Release | ( | ) | [inline, inherited] |
decrement refcount and destroy object if refcount is zero
Decrement the refcount and destroy object if refcount is zero.
const Util::String & Core::RefCounted::GetClassName | ( | ) | const [inline, inherited] |
get the class name
Get the class name of the object.
Util::FourCC Core::RefCounted::GetClassFourCC | ( | ) | const [inline, inherited] |
get the class FourCC code
Get the class FourCC of the object.
void Core::RefCounted::DumpRefCountingLeaks | ( | ) | [static, inherited] |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)
This method should be called as the very last before an application exits.