cxxtools::bin::Serializer Class Reference

#include <cxxtools/bin/serializer.h>

Inheritance diagram for cxxtools::bin::Serializer:
cxxtools::NonCopyable

Public Types

enum  TypeCode {
  TypeEmpty = 0x00, TypeBool = 0x01, TypeChar = 0x02, TypeString = 0x03,
  TypeInt = 0x04, TypeBinary2 = 0x06, TypeBinary4 = 0x07, TypeInt8 = 0x10,
  TypeInt16 = 0x11, TypeInt32 = 0x12, TypeInt64 = 0x13, TypeUInt8 = 0x18,
  TypeUInt16 = 0x19, TypeUInt32 = 0x1a, TypeUInt64 = 0x1b, TypeBcdFloat = 0x20,
  TypeShortFloat = 0x21, TypeMediumFloat = 0x22, TypeLongFloat = 0x23, TypePair = 0x30,
  TypeArray = 0x31, TypeVector = 0x32, TypeList = 0x33, TypeDeque = 0x34,
  TypeSet = 0x35, TypeMultiset = 0x36, TypeMap = 0x37, TypeMultimap = 0x38,
  TypeOther = 0x3f, TypePlainEmpty = 0x40, TypePlainBool = 0x41, TypePlainChar = 0x42,
  TypePlainString = 0x43, TypePlainInt = 0x44, TypePlainBinary2 = 0x46, TypePlainBinary4 = 0x47,
  TypePlainInt8 = 0x50, TypePlainInt16 = 0x51, TypePlainInt32 = 0x52, TypePlainInt64 = 0x53,
  TypePlainUInt8 = 0x58, TypePlainUInt16 = 0x59, TypePlainUInt32 = 0x5a, TypePlainUInt64 = 0x5b,
  TypePlainBcdFloat = 0x60, TypePlainShortFloat = 0x61, TypePlainMediumFloat = 0x62, TypePlainLongFloat = 0x63,
  TypePlainPair = 0x70, TypePlainArray = 0x71, TypePlainVector = 0x72, TypePlainList = 0x73,
  TypePlainDeque = 0x74, TypePlainSet = 0x75, TypePlainMultiset = 0x76, TypePlainMap = 0x77,
  TypePlainMultimap = 0x78, TypePlainOther = 0x7f, CategoryObject = 0xa0, CategoryArray = 0xa1,
  CategoryReference = 0xa2, RpcRequest = 0xc0, RpcResponse = 0xc1, RpcException = 0xc2,
  Eod = 0xff
}

Public Member Functions

 Serializer ()
 Serializer (std::ostream &out)
Serializerbegin (std::ostream &out)
template<typename T >
Serializerserialize (const T &v, const std::string &name)
template<typename T >
Serializerserialize (const T &v)
void finish ()

Additional Inherited Members

- Private Member Functions inherited from cxxtools::NonCopyable
 NonCopyable ()

Member Enumeration Documentation

Enumerator:
TypeEmpty 
TypeBool 
TypeChar 
TypeString 
TypeInt 
TypeBinary2 
TypeBinary4 
TypeInt8 
TypeInt16 
TypeInt32 
TypeInt64 
TypeUInt8 
TypeUInt16 
TypeUInt32 
TypeUInt64 
TypeBcdFloat 
TypeShortFloat 
TypeMediumFloat 
TypeLongFloat 
TypePair 
TypeArray 
TypeVector 
TypeList 
TypeDeque 
TypeSet 
TypeMultiset 
TypeMap 
TypeMultimap 
TypeOther 
TypePlainEmpty 
TypePlainBool 
TypePlainChar 
TypePlainString 
TypePlainInt 
TypePlainBinary2 
TypePlainBinary4 
TypePlainInt8 
TypePlainInt16 
TypePlainInt32 
TypePlainInt64 
TypePlainUInt8 
TypePlainUInt16 
TypePlainUInt32 
TypePlainUInt64 
TypePlainBcdFloat 
TypePlainShortFloat 
TypePlainMediumFloat 
TypePlainLongFloat 
TypePlainPair 
TypePlainArray 
TypePlainVector 
TypePlainList 
TypePlainDeque 
TypePlainSet 
TypePlainMultiset 
TypePlainMap 
TypePlainMultimap 
TypePlainOther 
CategoryObject 
CategoryArray 
CategoryReference 
RpcRequest 
RpcResponse 
RpcException 
Eod 

Constructor & Destructor Documentation

cxxtools::bin::Serializer::Serializer ( )
inline
cxxtools::bin::Serializer::Serializer ( std::ostream &  out)
inlineexplicit

Member Function Documentation

Serializer& cxxtools::bin::Serializer::begin ( std::ostream &  out)
inline
void cxxtools::bin::Serializer::finish ( )
inline
template<typename T >
Serializer& cxxtools::bin::Serializer::serialize ( const T &  v,
const std::string &  name 
)
inline
template<typename T >
Serializer& cxxtools::bin::Serializer::serialize ( const T &  v)
inline

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