diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/stdapis/boost/serialization/version.hpp --- a/epoc32/include/stdapis/boost/serialization/version.hpp Wed Mar 31 12:27:01 2010 +0100 +++ b/epoc32/include/stdapis/boost/serialization/version.hpp Wed Mar 31 12:33:34 2010 +0100 @@ -1,35 +1,87 @@ -// Boost version.hpp configuration header file ------------------------------// +#ifndef BOOST_SERIALIZATION_VERSION_HPP +#define BOOST_SERIALIZATION_VERSION_HPP -// (C) Copyright John maddock 1999. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org/libs/config for documentation - -#ifndef BOOST_VERSION_HPP -#define BOOST_VERSION_HPP - -// -// Caution, this is the only boost header that is guarenteed -// to change with every boost release, including this header -// will cause a recompile every time a new boost version is -// released. -// -// BOOST_VERSION % 100 is the sub-minor version -// BOOST_VERSION / 100 % 1000 is the minor version -// BOOST_VERSION / 100000 is the major version - -#define BOOST_VERSION 103400 - -// -// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION -// but as a *string* in the form "x_y" where x is the major version -// number and y is the minor version number. This is used by -// to select which library version to link to. - -#define BOOST_LIB_VERSION "1_34" - +// MS compatible compilers support #pragma once +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once #endif +/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 +// version.hpp: +// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . +// Use, modification and distribution is subject to the Boost Software +// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// See http://www.boost.org for updates, documentation, and revision history. + +#include +#include +#include +#include +#include + +#include +//#include + +namespace boost { +namespace serialization { + +struct basic_traits; + +// default version number is 0. Override with higher version +// when class definition changes. +template +struct version +{ + template + struct traits_class_version { + typedef BOOST_DEDUCED_TYPENAME U::version type; + }; + + typedef mpl::integral_c_tag tag; + // note: at least one compiler complained w/o the full qualification + // on basic traits below + typedef + BOOST_DEDUCED_TYPENAME mpl::eval_if< + is_base_and_derived, + traits_class_version, + mpl::int_<0> + >::type type; + BOOST_STATIC_CONSTANT(unsigned int, value = version::type::value); +}; + +} // namespace serialization +} // namespace boost + +// specify the current version number for the class +#define BOOST_CLASS_VERSION(T, N) \ +namespace boost { \ +namespace serialization { \ +template<> \ +struct version \ +{ \ + typedef mpl::int_ type; \ + typedef mpl::integral_c_tag tag; \ + BOOST_STATIC_CONSTANT(unsigned int, value = version::type::value); \ + /* require that class info saved when versioning is used */ \ + /* \ + BOOST_STATIC_ASSERT(( \ + mpl::or_< \ + mpl::equal_to< \ + mpl::int_<0>, \ + mpl::int_ \ + >, \ + mpl::equal_to< \ + implementation_level, \ + mpl::int_ \ + > \ + >::value \ + )); \ + */ \ +}; \ +} \ +} + +#endif // BOOST_SERIALIZATION_VERSION_HPP