#include <stdexcept>
#include <s11n.net/s11n/serialize.tpp>
Go to the source code of this file.
Classes | |
struct | s11n::Detail::s11n_api_marshaler< NodeType, SerializableT > |
struct | s11n::Detail::s11n_api_marshaler< NodeType, SerializableT * > |
A specialization to handle pointer types the same as reference/value types. More... | |
struct | s11n::cleaner_upper |
Intended for use with for_each(), this type cleans up Serializables using cleanup_serializable(). More... | |
struct | s11n::cleanup_ptr< SerializableT > |
An auto_ptr-like type intended to simplify pointer/exception safety in some deserialization algorithms by providing a way to completely and safely destroy partially-deserialized objects. More... | |
Namespaces | |
namespace | s11n |
The s11n serialization (s11n) framework is an object serialization framework for C++ modelled heavily off work by Rusty Ballinger (bozo@users.sourceforge.net http://libfunutil.sourceforge.net). | |
namespace | s11n::Detail |
The Detail namespace holds types which aren't strictly internal/private, but are nonetheless considered to be "implementation details." Unless specifically documented otherwise, clients are discouraged from using the Detail-namespace API from client code, as any part of it may change significantly or be replaced/removed without any warning. | |
Functions | |
template<typename DataNodeType , typename SerializableT > | |
bool | s11n::serialize (DataNodeType &target, const SerializableT &src) |
Serializes src to target using the default API marshaling mechanism. | |
template<typename SerializableType > | |
void | s11n::cleanup_serializable (SerializableType &s) throw () |
Calls s11n_traits<SerializableType>::cleanup_functor()(s). | |
template<typename SerializableType > | |
void | s11n::cleanup_serializable (SerializableType *&s) throw () |
This overload provides cleanup handling for pointer types. | |
template<typename DataNodeType , typename DeserializableT > | |
bool | s11n::deserialize (const DataNodeType &src, DeserializableT &target) |
Deserializes target from src using the default API marshaling mechanism. | |
template<typename DataNodeType , typename DeserializableT > | |
bool | s11n::deserialize (const DataNodeType &src, DeserializableT *&target) |
Like the standard form of deserialize(), but if passed a null pointer, it attempts to classload the class and assign the passed-in pointer to it. | |
template<typename DataNodeType , typename DeserializableT > | |
bool | s11n::deserialize (const DataNodeType &src, cleanup_ptr< DeserializableT > &target) |
Identical to deserialize(const DataNodeType&,DeserializableT*&) except that it works on a cleanup_ptr<>. | |
template<typename DataNodeType , typename DeserializableT > | |
DeserializableT * | s11n::deserialize (const DataNodeType &src) |
Tries to deserialize a DeserializableT from src, using s11n_traits<DeserializableT>::factory_type()(node_traits<DataNodeType>::class_name(src)) to create a new DeserializableT. | |
template<typename DataNodeType , typename SerializableType > | |
SerializableType * | s11n::s11n_clone (const SerializableType &tocp) |
Clones an arbitrary SerializableType using its DataNodeType serialization implementation. | |
template<typename NodeType , typename Type1 , typename Type2 > | |
bool | s11n::s11n_cast (const Type1 &t1, Type2 &t2) |
"Casts" t1 to t2 using serialization. |