29 #include <boost/serialization/access.hpp> 30 #include <boost/shared_ptr.hpp> 44 typedef boost::shared_ptr<MCBinaryData> BinaryDataSPtr;
52 friend class boost::serialization::access;
105 void Allocate(
int size);
116 void Shrink(
int size);
141 bool IsEmpty()
const;
153 void Set(
unsigned char* data,
int size);
183 bool WriteData(
MCBinaryData& target,
int capacity = -1);
198 unsigned int CopyData(
MCBinaryData& target,
int capacity = -1)
const;
209 bool LoadFromFile(
const std::string& file_name);
211 #ifndef __AIBO_BUILD__ 221 bool LoadFromQtResource(
const QString& resource_str);
233 bool SaveToFile(
const std::string& file_name)
const;
251 void AddUChar(
unsigned char new_char);
261 void AddInt16(int16_t new_int,
bool reverse_order =
false);
271 void AddInt32(int32_t new_int,
bool reverse_order =
false);
280 void AddString(
const std::string& str);
289 unsigned char GetUChar();
300 int16_t GetInt16(
bool reverse_order =
false);
311 int32_t GetInt32(
bool reverse_order =
false);
326 bool ValidateString(
unsigned int length,
const std::string& additional_chars =
"");
341 std::string GetString(
unsigned int length,
const std::string& additional_chars =
"");
350 unsigned char* GetData()
const;
368 const std::vector<unsigned char>& GetVectorData()
const;
380 int GetPosition()
const;
389 bool IsPositionAtEnd()
const;
403 unsigned int GetRemainingCapacity(
unsigned int capacity)
const;
412 void SetPosition(
unsigned int position);
421 void IncrementPosition(
unsigned int position = 1);
428 void ResetPosition();
437 std::string ToBase64()
const;
446 void FromBase64(
const std::string& base64_str);
489 template<
class Archive>
490 void serialize(Archive& archive,
const unsigned int version);
494 std::vector<unsigned char>
Data;
std::vector< unsigned char > Data
Pointer to the encapsulated data.
int Size
Size of the data.
int Position
Internal position index.