Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

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
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 82 of file serialize.hpp.


Member Typedef Documentation

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

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.

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 88 of file serialize.hpp.


Member Function Documentation

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.

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.


The documentation for this struct was generated from the following file:
Generated on Fri Nov 25 17:19:30 2005 for libs11n-1.2.0 by  doxygen 1.4.4