XLE  v0.02.0
Classes | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Serialization::NascentBlockSerializer Class Reference

Classes

class  InternalPointer
 
struct  SpecialBuffer
 

Public Member Functions

template<typename Type >
void SerializeSubBlock (const Type *type)
 
template<typename Type , typename std::enable_if< !std::is_pod< Type >::value >::type * = nullptr>
void SerializeSubBlock (const Type *begin, const Type *end, SpecialBuffer::Enum specialBuffer=SpecialBuffer::Unknown)
 
template<typename Type , typename std::enable_if< std::is_pod< Type >::value >::type * = nullptr>
void SerializeSubBlock (const Type *begin, const Type *end, SpecialBuffer::Enum specialBuffer=SpecialBuffer::Unknown)
 
void SerializeSubBlock (NascentBlockSerializer &subBlock, SpecialBuffer::Enum specialBuffer=SpecialBuffer::Unknown)
 
void SerializeRawSubBlock (const void *begin, const void *end, SpecialBuffer::Enum specialBuffer=SpecialBuffer::Unknown)
 
void SerializeSpecialBuffer (SpecialBuffer::Enum specialBuffer, const void *begin, const void *end)
 
void SerializeValue (uint8 value)
 
void SerializeValue (uint16 value)
 
void SerializeValue (uint32 value)
 
void SerializeValue (uint64 value)
 
void SerializeValue (float value)
 
void SerializeValue (const std::string &value)
 
void AddPadding (unsigned sizeInBytes)
 
template<typename Type , typename Allocator >
void SerializeValue (const std::vector< Type, Allocator > &value)
 
template<typename Type , typename Deletor >
void SerializeValue (const DynamicArray< Type, Deletor > &value)
 
template<typename Type , typename Deletor >
void SerializeValue (const std::unique_ptr< Type, Deletor > &value, size_t count)
 
template<typename Type , typename Allocator >
void SerializeRaw (const std::vector< Type, Allocator > &value)
 
template<typename Type >
void SerializeRaw (Type type)
 
std::unique_ptr< uint8[]> AsMemoryBlock () const
 
size_t Size () const
 

Static Public Attributes

static const size_t PtrFlagBit = size_t(1)<<(size_t(sizeof(size_t)*8-1))
 
static const size_t PtrMask = ~PtrFlagBit
 

Protected Member Functions

void PushBackPointer (size_t value)
 
void PushBackRaw (const void *data, size_t size)
 
void PushBackRaw_SubBlock (const void *data, size_t size)
 
void RegisterInternalPointer (const InternalPointer &ptr)
 
void PushBackPlaceholder (SpecialBuffer::Enum specialBuffer)
 

Protected Attributes

std::vector< uint8 > _memory
 
std::vector< uint8 > _trailingSubBlocks
 
std::vector< InternalPointer_internalPointers
 

The documentation for this class was generated from the following files: