1 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
4 // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
5 // Use, modification and distribution is subject to the Boost Software
6 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7 // http://www.boost.org/LICENSE_1_0.txt)
9 // See http://www.boost.org for updates, documentation, and revision history.
11 //////////////////////////////////////////////////////////////////////
13 // objects are stored as
15 // class_id* // -1 for a null pointer
18 // exported key - class name*
19 // tracking level - always/never
28 // [ // if a new object id
32 // * required only for pointers - optional for objects
34 #define BOOST_ARCHIVE_SOURCE
35 #include <boost/serialization/config.hpp>
36 #include <boost/archive/basic_archive.hpp>
41 ///////////////////////////////////////////////////////////////////////
42 // constants used in archive signature
43 //This should never ever change. note that is not an std::string
45 BOOST_SYMBOL_VISIBLE
const char *
46 BOOST_ARCHIVE_SIGNATURE(){
47 return "serialization::archive";
50 // this should change if the capabilities are added to the library
51 // such that archives can be created which can't be read by previous
52 // versions of this library
53 // 1 - initial version
54 // 2 - made address tracking optional
55 // 3 - numerous changes - can't guarentee compatibility with previous versions
57 // added item_version to properly support versioning for collections
59 // changed serialization of collections: adding version even for primitive
60 // types caused backwards compatibility breaking change in 1.35
61 // 6 - Boost 1.41 17 Nov 2009
62 // serializing collection sizes as std::size_t
63 // 7 Boost 1.42 2 Feb 2010
64 // error - changed binary version to 16 bits w/o changing library version #
65 // That is - binary archives are recorded with #6 even though they are
66 // different from the previous versions. This means that binary archives
67 // created with versions 1.42 and 1.43 will have to be fixed with a special
68 // program which fixes the library version # in the header
69 // Boost 1.43 6 May 2010
72 // separated version_type into library_version_type and class_version_type
73 // changed version_type to be stored as 8 bits.
74 // 10- fixed base64 output/input.
76 // 12- improved serialization of collections
77 // 13- simplified visibility, removed Borland, removed pfto
78 // 14- improved visibility, refactor map/set
79 // 15- corrections to optional and collection loading
80 // 16- eliminated dependency on <codecvt> which is buggy in some libraries
81 // and now officially deprecated in the standard
83 BOOST_SYMBOL_VISIBLE library_version_type
84 BOOST_ARCHIVE_VERSION(){
85 return library_version_type(16);
88 } // namespace archive