cByteBuffer: Added the VarInt and VarUTF8String type reading and writing.
This implements #296.
This commit is contained in:
+19
-3
@@ -57,8 +57,22 @@ public:
|
||||
bool ReadBEFloat (float & a_Value);
|
||||
bool ReadBEDouble (double & a_Value);
|
||||
bool ReadBool (bool & a_Value);
|
||||
bool ReadBEUTF16String16(AString & a_Value);
|
||||
|
||||
bool ReadBEUTF16String16(AString & a_Value); // string length as BE short, then string as UTF-16BE
|
||||
bool ReadVarInt (UInt64 & a_Value);
|
||||
bool ReadVarUTF8String (AString & a_Value); // string length as VarInt, then string as UTF-8
|
||||
|
||||
/// Reads VarInt, assigns it to anything that can be assigned from an UInt64 (unsigned int, short, char, Byte, double, ...)
|
||||
template <typename T> bool ReadVarUInt(T & a_Value)
|
||||
{
|
||||
UInt64 v;
|
||||
bool res = ReadVarInt(v);
|
||||
if (res)
|
||||
{
|
||||
a_Value = v;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
// Write the specified datatype; return true if successfully written
|
||||
bool WriteChar (char a_Value);
|
||||
bool WriteByte (unsigned char a_Value);
|
||||
@@ -68,7 +82,9 @@ public:
|
||||
bool WriteBEFloat (float a_Value);
|
||||
bool WriteBEDouble (double a_Value);
|
||||
bool WriteBool (bool a_Value);
|
||||
bool WriteBEUTF16String16(const AString & a_Value);
|
||||
bool WriteBEUTF16String16(const AString & a_Value); // string length as BE short, then string as UTF-16BE
|
||||
bool WriteVarInt (UInt64 a_Value);
|
||||
bool WriteVarUTF8String (AString & a_Value); // string length as VarInt, then string as UTF-8
|
||||
|
||||
/// Reads a_Count bytes into a_Buffer; returns true if successful
|
||||
bool ReadBuf(void * a_Buffer, int a_Count);
|
||||
|
||||
Reference in New Issue
Block a user