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

s11n::Detail Namespace Reference

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. More...


Classes

class  child_pointer_deep_copier
 child_pointer_deep_copier is a functor to deep-copy a list of pointers into another list. More...
struct  same_name
 Functor to return true if given NameableT objects match a certain name. More...
struct  no_op_phoenix_initializer
 Internal helper class to provide a default no-op initializer for phoenixed objects. More...
struct  phoenix
 The phoenix class acts as a wrapper for adding "phoenixing" behaviour to arbitrary shared objects, as covered in detail in Alexandrescu's "Modern C++ Design". More...
struct  s11n_api_marshaler
struct  s11n_api_marshaler< NodeType, SerializableT * >
 A specialization to handle pointer types the same as reference/value types. More...
struct  variant
 variant provides a really convenient way to lexically cast strings and other streamable types to/from each other. More...

Namespaces

namespace  Private


Detailed Description

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.

Clients wishing to use Detail-namespace code are instead encouraged to make their own copy, rename the namespace, and tweak to suit.

The main difference between the Private and Detail namespaces is... well, vague. As a "general guideline", most Private code is specific to one certain area of this library, where as Detail code might have utility in throughout the library, or even play a fundamental role in the implementation. An example of a Detail is the phoenix<> class: it plays no direct part in serialization proper, and thus was moved out of the top-level s11n namespace, but is used throughout the framework to provide shared object instances for many purposes.


Generated on Mon Dec 26 15:53:18 2005 for libs11n-1.2.3 by  doxygen 1.4.4