BLOB

Binary Large OBject class used for storing arbitrary amounts of binary data.

Type: Reference type

Methods

Declaration Description
bool HasAllocatedBuffer() const Returns whether this instance has allocated a buffer.
size_t GetSizeInBytes() const Gets the size of this BLOB, in bytes.
size_t GetReadOffset() const Gets the read offset, in bytes.
bool ReadReachedEnd() const Returns whether the last read operation reached the end of data that was written to this BLOB.
bool ReadSizeValid(size_t uiSizeInBytes) const Returns whether the given amount of bytes can be read from this BLOB.
size_t GetWriteOffset() const Gets the write offset, in bytes. This is the number of bytes written to this buffer.
bool CanWriteSize(size_t uiSizeInBytes) const Returns whether the given amount of bytes can be written to this BLOB.
size_t GetWriteBytesLeft() const Gets the number of bytes left that can be written to. This may change if a write operation causes the buffer to be resized.
bool CanResize() const Returns whether this BLOB is allowed to resize its buffer.
void SetCanResize(bool fState) Sets whether this BLOB is allowed to resize its buffer.
int8 ReadInt8() Reads an int8 from this BLOB.
int16 ReadInt16() Reads an int16 from this BLOB.
int32 ReadInt32() Reads an int32 from this BLOB.
int64 ReadInt64() Reads an int64 from this BLOB.
uint8 ReadUInt8() Reads a uint8 from this BLOB.
int16 ReadUInt16() Reads a uint16 from this BLOB.
int32 ReadUInt32() Reads a uint32 from this BLOB.
int64 ReadUInt64() Reads a uint64 from this BLOB.
float ReadFloat() Reads a float from this BLOB.
double ReadDouble() Reads a double from this BLOB.
int8 ReadInt8(bool& out fSuccess) Reads an int8 from this BLOB. fSuccess is true if the read succeeded.
int16 ReadInt16(bool& out fSuccess) Reads an int16 from this BLOB. fSuccess is true if the read succeeded.
int32 ReadInt32(bool& out fSuccess) Reads an int32 from this BLOB. fSuccess is true if the read succeeded.
int64 ReadInt64(bool& out fSuccess) Reads an int64 from this BLOB. fSuccess is true if the read succeeded.
uint8 ReadUInt8(bool& out fSuccess) Reads a uint8 from this BLOB. fSuccess is true if the read succeeded.
int16 ReadUInt16(bool& out fSuccess) Reads a uint16 from this BLOB. fSuccess is true if the read succeeded.
int32 ReadUInt32(bool& out fSuccess) Reads a uint32 from this BLOB. fSuccess is true if the read succeeded.
int64 ReadUInt64(bool& out fSuccess) Reads a uint64 from this BLOB. fSuccess is true if the read succeeded.
float ReadFloat(bool& out fSuccess) Reads a float from this BLOB. fSuccess is true if the read succeeded.
double ReadDouble(bool& out fSuccess) Reads a double from this BLOB. fSuccess is true if the read succeeded.
string ReadString(size_t uiSizeInBytes) Reads a fixed length string from this BLOB.
string ReadString(size_t uiSizeInBytes, bool& out fSuccess) Reads a fixed length string from this BLOB. fSuccess is true if the read succeeded.
string ReadString(bool& out fSuccess) Reads a variable length string from this BLOB. fSuccess is true if the read succeeded.
string ReadString() Reads a variable length string from this BLOB.
bool WriteBytes(size_t uiSizeInBytes, int iValue = 0) Writes a given value a number of bytes to this BLOB. Returns true if the write succeeded.
bool WriteBytesUntil(size_t uiEndOffset, int iValue = 0) Writes a given value until the given end offset to this BLOB. Returns true if the write succeeded.
bool Write(int8 data) Writes an int8 to this BLOB. Returns true if the write succeeded.
bool Write(int16 data) Writes an int16 to this BLOB. Returns true if the write succeeded.
bool Write(int32 data) Writes an int32 to this BLOB. Returns true if the write succeeded.
bool Write(int64 data) Writes an int64 to this BLOB. Returns true if the write succeeded.
bool Write(uint8 data) Writes a uint8 to this BLOB. Returns true if the write succeeded.
bool Write(uint16 data) Writes a uint16 to this BLOB. Returns true if the write succeeded.
bool Write(uint32 data) Writes a uint32 to this BLOB. Returns true if the write succeeded.
bool Write(uint64 data) Writes a uint64 to this BLOB. Returns true if the write succeeded.
bool Write(float data) Writes a float to this BLOB. Returns true if the write succeeded.
bool Write(double data) Writes a double to this BLOB. Returns true if the write succeeded.
bool Write(const string& in szString, size_t uiSizeInBytes) Writes a fixed length string to this BLOB. Returns true if the write succeeded.
bool Write(const string& in szString) Writes a variable length string to this BLOB. Returns true if the write succeeded.
void Resize(size_t uiNewSize) Resizes this BLOB. Data may be lost because of this.
void Reserve(size_t uiMinimumSize) Reserves the given amount of space, if needed.
void ShrinkToFit() Shrinks this BLOB to fit the data that was written to it.
void Clear() Clears this BLOB of all data and allocated memory. All flags are reset to their default values.