Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members

s11n.h

00001 #ifndef s11n_S11N_H_INCLUDED
00002 #define s11n_S11N_H_INCLUDED 1
00003 
00004 ////////////////////////////////////////////////////////////////////////
00005 // s11n.h:
00006 // Author: stephan beal <stephan@s11n.net>
00007 // License: Public Domain
00008 //
00009 // This header include "everything most clients would want."
00010 //
00011 //
00012 // The s11n namespace docs go here so doxygen will pick them up nicely.
00013 ////////////////////////////////////////////////////////////////////////
00014 
00015 /**
00016    The s11n serialization (s11n) framework is an object serialization
00017    framework modelled heavily off work by Rusty Ballinger
00018    (bozo@users.sourceforge.net http://libfunutil.sourceforge.net). As
00019    far as i know Rusty was the one to coin the phrase "s11n" (short
00020    for "serialization", in the same way that i18n is short for
00021    "internationalization").
00022 
00023    In addition to the class documentation, please see the library
00024    manual, available in the source tree, in the docs subdir.
00025 
00026    The most important places for clients to understand:
00027 
00028    - data_node (or a client-supplied functional equivalent)
00029 
00030    - the serialize() and deserialize() family of free functions.
00031 
00032    - The docs for the registration-related macros: in the source tree
00033    see lib/node/data_node_serializer.h
00034 
00035 */
00036 namespace s11n
00037 {
00038 
00039         /**
00040            The Private namespace holds internal library types: these
00041            should not be used in client code.
00042         */
00043         namespace Private
00044         {
00045 
00046         }
00047 
00048         /**
00049            The s11n::io namespace defines some i/o-related
00050            types which conform to the conventions expected by the
00051            <code>s11n::de/serialize()</code> free
00052            functions. In theory clients can swap out these types and
00053            still use the core s11n interface. The core has no
00054            dependencies on this namespace.
00055         */
00056         namespace io {
00057         }
00058 }
00059 
00060 #include "s11n_core.h" // classloader
00061 #include "data_node.h" // reference NodeType implementation
00062 #include "data_node_algo.h" // reference NodeType implementation
00063 #include "data_node_serialize.h" // serialize() and friends
00064 
00065 #include "default_registrations.h" // default proxy setups for some common types
00066 
00067 #include "data_node_io.h" // i/o-related interfaces
00068 
00069 #include "data_node_format.h" // tree_builder and related classes
00070 #include "serializers.h" // default serializers/parsers.
00071 
00072 #include "sam_std_containers.h" // default SAMs for std containers
00073 #endif // s11n_S11N_H_INCLUDED

Generated on Tue Oct 26 18:25:59 2004 for s11n by  doxygen 1.3.9.1