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 00074 #include <s11n/algo.h> 00075 #include "list.h" 00076 #include "map.h" 00077 #endif // s11n_S11N_H_INCLUDED