Bpp/Standard Serialization | C++ |
|  |
This module provides facilities to serialize objects (i.e. to convert them into sequences of bytes). This section allows you to access the C++ source files of the module. This module is part of Bpp/Standard . The files listed below are included in the interface part of the module. So any module dependent of this module is also dependent of the files listed here. <bpp/standard/maths.hpp>
<deque>
The files listed below are needed by the implementation part of the module. But a module dependent of this module is not necessary dependent of the files listed here. The namespaces listed below are integrated in this module. That means any element declared in one of those namespaces can now be directly used by or from this module. The aliases listed below are only used internally by the interface. They are here just to lighten the writing of certain declarations. Never use them, they are local to the interface and can not be used outside of it. tdMap = class prKey,class prValue,template <class> class prComparator,template <class> class prAllocator,template <class,class,class,class> class prContainer
tuMap = prContainer<prKey,prValue,prComparator<prKey>,prAllocator< STL_MAP_ALLOCATOR_PARAMETERS(prKey,prValue) > >
tdPair = class prType1,class prType2
tuPair = std_pair(prType1,prType2)
tdSequence = class prType,template <class> class prAllocator,template <class,class> class prContainer
tuSequence = prContainer<prType,prAllocator<prType> >
tdSet = class prType,template <class> class prComparator,template <class> class prAllocator,template <class,class,class> class prContainer
tuSet = prContainer< prType,prComparator<prType>,prAllocator<prType> >
The macrocommands listed below can be used without specifying the namespace where they have been defined. That means you can not define an element by your own that have the same name. Here are listed the errors that are supported or generated by the module. To use one of them, you do not have to specify the namespace of the module. Here are listed the functions provided by the module. To use one of them, you have to specify the namespace of the module. template <class prType> inline clSerializer & operator << (clSerializer & agSerializer,const prType & agValue) Serializes an object and stores the resulting sequence of bytes into a serializer.
template <class prType> inline clSerializer & operator >> (clSerializer & agSerializer,prType & agValue) Deserializes an object from the sequence of bytes of a serializer.
template <class prType> inline tyCardinal deserialize(prType & agValue,tcBinary agBinary) Deserializes an object from an array of bytes. Returns the number of bytes used to deserialize.
template <class prType> inline tyCardinal deserialize(prType & agValue,tcString agHexa) Deserializes an object from an hexadecimal string. Returns the number of bytes used to deserialize.
template <class prType> inline tyCardinal deserialize(prType & agValue,clString & agHexa) Deserializes an object from an hexadecimal string. Returns the number of bytes used to deserialize.
template <class prType> inline tyCardinal serialize(tyBinary & agBinary,const prType & agValue) Serializes an object and stores the resulting sequence of bytes into an array.
template <class prType> inline tyCardinal serialize(clString & agHexa,const prType & agValue) Serializes an object and stores the resulting sequence of bytes into an hexadecimal string.
function void decodeHexa(clString & agString,ctString & agHexa) Converts an hexadecimal string into its equivalent plain string.
function void decodeHexa(tyBinary agBinary,ctString & agHexa,tyCardinal & agLength) Converts an hexadecimal string into its equivalent array of bytes. The length of the array will be stored in the last argument of the method. The array must have enough space to store the conversion.
function void encodeHexa(clString & agHexa,ctString & agString) Converts a plain string into its equivalent hexadecimal string.
function void encodeHexa(clString & agHexa,tcBinary agBinary,tyCardinal agLength) Converts an array of bytes into its equivalent hexadecimal string. The length of the array must be provided in the last argument of the method.
Here are listed the classes provided by the module. To use one of them, you have to specify the namespace of the module. template <class prType> class clDeflator
Provides static methods for the serialization of a specific type of objects. This generic class must be statically specialized for any type of object. template <> class clDeflator<tyBoolean>
Specialization of the Deflator generic class. template <> class clDeflator<tyByte>
Specialization of the Deflator generic class. template <> class clDeflator<tyCharacter>
Specialization of the Deflator generic class. template <> class clDeflator<tyCardinal>
Specialization of the Deflator generic class. template <> class clDeflator<tyInteger>
Specialization of the Deflator generic class. template <> class clDeflator<tyReal>
Specialization of the Deflator generic class. template <> class clDeflator<tcString>
Specialization of the Deflator generic class. template <> class clDeflator<clString>
Specialization of the Deflator generic class. | clDeflator<std_pair(?,?)> | |
template <tdPair> class clDeflator<tuPair>
Specialization of the Deflator generic class. | clDeflator<std_sequence(?)> | |
template <tdSequence> class clDeflator<tuSequence>
Specialization of the Deflator generic class. template <tdMap> class clDeflator<tuMap>
Specialization of the Deflator generic class. template <tdSet> class clDeflator<tuSet>
Specialization of the Deflator generic class. class clSerializer
Represents a serializer that potentially converts any type of object into a sequence of bytes, and vice versa. The serializer stores a sequence of bytes where objects of different kinds can be added or retrieved. | | Copyright (c) 1999-2016 - Bruno Bachelet - bruno@nawouak.net - http://www.nawouak.net | Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation. See this license for more details (http://www.gnu.org). |
|
| |