#include <stdexcept>
#include <s11n.net/s11n/serialize.tpp>
Include dependency graph for serialize.hpp:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Namespaces | |
namespace | s11n |
namespace | s11n::Detail |
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... | |
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. |