s11n::Detail::s11n_api_marshaler< NodeType, SerializableT * > Struct Template Reference

A specialization to handle pointer types the same as reference/value types. More...

#include <serialize.hpp>

List of all members.

Public Types

typedef SerializableT serializable_type
 The SerializableT templatized type, minus any pointer part.
typedef NodeType node_type
 Same as the NodeType template parameter.
typedef
s11n_api_marshaler
< node_type,
serializable_type
parent_type
 Convenience typedef: this class' quasi-parent type.

Static Public Member Functions

static bool serialize (node_type &dest, const serializable_type *const &src)
 Returns parent_type::serialize( dest, *src );.
static bool deserialize (const node_type &src, serializable_type *&dest)
 Returns parent_type::deserialize( src, *dest );.


Detailed Description

template<typename NodeType, typename SerializableT>
struct s11n::Detail::s11n_api_marshaler< NodeType, SerializableT * >

A specialization to handle pointer types the same as reference/value types.

It simply translates the pointers into references.

Definition at line 81 of file serialize.hpp.


Member Typedef Documentation

template<typename NodeType, typename SerializableT>
typedef SerializableT s11n::Detail::s11n_api_marshaler< NodeType, SerializableT * >::serializable_type

The SerializableT templatized type, minus any pointer part.

Definition at line 87 of file serialize.hpp.

template<typename NodeType, typename SerializableT>
typedef NodeType s11n::Detail::s11n_api_marshaler< NodeType, SerializableT * >::node_type

Same as the NodeType template parameter.

Definition at line 90 of file serialize.hpp.

template<typename NodeType, typename SerializableT>
typedef s11n_api_marshaler<node_type,serializable_type> s11n::Detail::s11n_api_marshaler< NodeType, SerializableT * >::parent_type

Convenience typedef: this class' quasi-parent type.

Definition at line 95 of file serialize.hpp.


Member Function Documentation

template<typename NodeType, typename SerializableT>
static bool s11n::Detail::s11n_api_marshaler< NodeType, SerializableT * >::serialize ( node_type dest,
const serializable_type *const &  src 
) [static]

Returns parent_type::serialize( dest, *src );.

src must be a valid pointer, else false is returned.

template<typename NodeType, typename SerializableT>
static bool s11n::Detail::s11n_api_marshaler< NodeType, SerializableT * >::deserialize ( const node_type src,
serializable_type *&  dest 
) [static]

Returns parent_type::deserialize( src, *dest );.

dest must be a valid pointer, else false is returned.

Reminder to self: if we dupe the code from deserialize(const N&,ST *&), we could potentially provide support for passing a reference to a null pointer here. No need, though, since the public s11n API already provides that.


The documentation for this struct was generated from the following file:
Generated on Wed Jun 4 21:44:21 2008 for libs11n by  doxygen 1.5.3