Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
|
Serialize to a binary stream. More...
#include <BinarySerializer.h>
Public Member Functions | |
CBinarySerializer (const ScriptInterface &scriptInterface) | |
template<typename A > | |
CBinarySerializer (const ScriptInterface &scriptInterface, A &a) | |
Public Member Functions inherited from ISerializer | |
virtual | ~ISerializer () |
void | NumberU8 (const char *name, uint8_t value, uint8_t lower, uint8_t upper) |
Serialize a number, which must be lower <= value <= upper. More... | |
void | NumberI8 (const char *name, int8_t value, int8_t lower, int8_t upper) |
void | NumberU16 (const char *name, uint16_t value, uint16_t lower, uint16_t upper) |
Serialize a number, which must be lower <= value <= upper. More... | |
void | NumberI16 (const char *name, int16_t value, int16_t lower, int16_t upper) |
Serialize a number, which must be lower <= value <= upper. More... | |
void | NumberU32 (const char *name, uint32_t value, uint32_t lower, uint32_t upper) |
Serialize a number, which must be lower <= value <= upper. More... | |
void | NumberI32 (const char *name, int32_t value, int32_t lower, int32_t upper) |
Serialize a number, which must be lower <= value <= upper. More... | |
void | NumberU8_Unbounded (const char *name, uint8_t value) |
Serialize a number. More... | |
void | NumberI8_Unbounded (const char *name, int8_t value) |
Serialize a number. More... | |
void | NumberU16_Unbounded (const char *name, uint16_t value) |
Serialize a number. More... | |
void | NumberI16_Unbounded (const char *name, int16_t value) |
Serialize a number. More... | |
void | NumberU32_Unbounded (const char *name, uint32_t value) |
Serialize a number. More... | |
void | NumberI32_Unbounded (const char *name, int32_t value) |
Serialize a number. More... | |
void | NumberFloat_Unbounded (const char *name, float value) |
Serialize a number. More... | |
void | NumberDouble_Unbounded (const char *name, double value) |
Serialize a number. More... | |
void | NumberFixed_Unbounded (const char *name, fixed value) |
Serialize a number. More... | |
void | Bool (const char *name, bool value) |
Serialize a boolean. More... | |
void | StringASCII (const char *name, const std::string &value, uint32_t minlength, uint32_t maxlength) |
Serialize an ASCII string. More... | |
void | String (const char *name, const std::wstring &value, uint32_t minlength, uint32_t maxlength) |
Serialize a Unicode string. More... | |
void | ScriptVal (const char *name, JS::MutableHandleValue value) |
Serialize a JS::MutableHandleValue. More... | |
void | RawBytes (const char *name, const u8 *data, size_t len) |
Serialize a stream of bytes. More... | |
virtual bool | IsDebug () const |
Returns true if the serializer is being used in debug mode. More... | |
virtual std::ostream & | GetStream ()=0 |
Returns a stream which can be used to serialize data directly. More... | |
Protected Member Functions | |
virtual void | PutNumber (const char *name, uint8_t value) |
virtual void | PutNumber (const char *name, int8_t value) |
virtual void | PutNumber (const char *name, uint16_t value) |
virtual void | PutNumber (const char *name, int16_t value) |
virtual void | PutNumber (const char *name, uint32_t value) |
virtual void | PutNumber (const char *name, int32_t value) |
virtual void | PutNumber (const char *name, float value) |
virtual void | PutNumber (const char *name, double value) |
virtual void | PutNumber (const char *name, fixed value) |
virtual void | PutBool (const char *name, bool value) |
virtual void | PutString (const char *name, const std::string &value) |
virtual void | PutScriptVal (const char *name, JS::MutableHandleValue value) |
virtual void | PutRaw (const char *name, const u8 *data, size_t len) |
virtual std::ostream & | GetStream () |
Returns a stream which can be used to serialize data directly. More... | |
virtual void | PutNumber (const char *name, uint8_t value)=0 |
virtual void | PutNumber (const char *name, int8_t value)=0 |
virtual void | PutNumber (const char *name, uint16_t value)=0 |
virtual void | PutNumber (const char *name, int16_t value)=0 |
virtual void | PutNumber (const char *name, uint32_t value)=0 |
virtual void | PutNumber (const char *name, int32_t value)=0 |
virtual void | PutNumber (const char *name, float value)=0 |
virtual void | PutNumber (const char *name, double value)=0 |
virtual void | PutNumber (const char *name, fixed value)=0 |
virtual void | PutBool (const char *name, bool value)=0 |
virtual void | PutString (const char *name, const std::string &value)=0 |
virtual void | PutScriptVal (const char *name, JS::MutableHandleValue value)=0 |
virtual void | PutRaw (const char *name, const u8 *data, size_t len)=0 |
Protected Attributes | |
T | m_Impl |
Private Member Functions | |
NONCOPYABLE (CBinarySerializer) | |
Private Attributes | |
std::unique_ptr< CBinarySerializerScriptImpl > | m_ScriptImpl |
CSerializerStreamBuf< T > | m_RawStreamBuf |
std::ostream | m_RawStream |
Serialize to a binary stream.
T must just implement the Put() method. (We use this templated approach to allow compiler inlining.)
|
inline |
|
inline |
|
inlineprotectedvirtual |
Returns a stream which can be used to serialize data directly.
(This is particularly useful for chaining multiple serializers together.)
Implements ISerializer.
Reimplemented in CStdSerializer.
|
private |
|
inlineprotectedvirtual |
Implements ISerializer.
|
inlineprotectedvirtual |
Implements ISerializer.
|
inlineprotectedvirtual |
Implements ISerializer.
|
inlineprotectedvirtual |
Implements ISerializer.
|
inlineprotectedvirtual |
Implements ISerializer.
|
inlineprotectedvirtual |
Implements ISerializer.
|
inlineprotectedvirtual |
Implements ISerializer.
|
inlineprotectedvirtual |
Implements ISerializer.
|
inlineprotectedvirtual |
Implements ISerializer.
|
inlineprotectedvirtual |
Implements ISerializer.
|
inlineprotectedvirtual |
Implements ISerializer.
|
inlineprotectedvirtual |
Implements ISerializer.
|
inlineprotectedvirtual |
Implements ISerializer.
|
protected |
|
private |
|
private |
|
private |