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