diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-03-14 18:35:17 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-03-14 18:35:17 (GMT) |
commit | a135c6ff4dcded5661a2321512960b14cf8c15c8 (patch) | |
tree | b0017ecfe702304f592b9d4e8b943784cff26fb2 /3rdParty/Boost/src/boost/serialization/access.hpp | |
parent | 02d6188ab335e6c62b8341b84579d9549d215118 (diff) | |
download | swift-contrib-a135c6ff4dcded5661a2321512960b14cf8c15c8.zip swift-contrib-a135c6ff4dcded5661a2321512960b14cf8c15c8.tar.bz2 |
Updated Boost to 1.46.1.
This should hopefuily fix a hang on shutdown on Mac OS X.
Resolves: #782
Release-Notes: Fixed a potential hang on shutdown on Mac OS X.
Diffstat (limited to '3rdParty/Boost/src/boost/serialization/access.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/serialization/access.hpp | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/3rdParty/Boost/src/boost/serialization/access.hpp b/3rdParty/Boost/src/boost/serialization/access.hpp deleted file mode 100644 index 40256d6..0000000 --- a/3rdParty/Boost/src/boost/serialization/access.hpp +++ /dev/null @@ -1,147 +0,0 @@ -#ifndef BOOST_SERIALIZATION_ACCESS_HPP -#define BOOST_SERIALIZATION_ACCESS_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// access.hpp: interface for serialization system. - -// (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 <boost/config.hpp> - -#include <boost/serialization/pfto.hpp> - -namespace boost { - -namespace archive { -namespace detail { - template<class Archive, class T> - class iserializer; - template<class Archive, class T> - class oserializer; -} // namespace detail -} // namespace archive - -namespace serialization { - -// forward declarations -template<class Archive, class T> -inline void serialize_adl(Archive &, T &, const unsigned int); -namespace detail { - template<class Archive, class T> - struct member_saver; - template<class Archive, class T> - struct member_loader; -} // namespace detail - -// use an "accessor class so that we can use: -// "friend class boost::serialization::access;" -// in any serialized class to permit clean, safe access to private class members -// by the serialization system - -class access { -public: - // grant access to "real" serialization defaults -#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS -public: -#else - template<class Archive, class T> - friend struct detail::member_saver; - template<class Archive, class T> - friend struct detail::member_loader; - template<class Archive, class T> - friend class archive::detail::iserializer; - template<class Archive, class T> - friend class archive::detail::oserializer; - template<class Archive, class T> - friend inline void serialize( - Archive & ar, - T & t, - const BOOST_PFTO unsigned int file_version - ); - template<class Archive, class T> - friend inline void save_construct_data( - Archive & ar, - const T * t, - const BOOST_PFTO unsigned int file_version - ); - template<class Archive, class T> - friend inline void load_construct_data( - Archive & ar, - T * t, - const BOOST_PFTO unsigned int file_version - ); -#endif - - // pass calls to users's class implementation - template<class Archive, class T> - static void member_save( - Archive & ar, - //const T & t, - T & t, - const unsigned int file_version - ){ - t.save(ar, file_version); - } - template<class Archive, class T> - static void member_load( - Archive & ar, - T & t, - const unsigned int file_version - ){ - t.load(ar, file_version); - } - template<class Archive, class T> - static void serialize( - Archive & ar, - T & t, - const unsigned int file_version - ){ - // note: if you get a compile time error here with a - // message something like: - // cannot convert parameter 1 from <file type 1> to <file type 2 &> - // a likely possible cause is that the class T contains a - // serialize function - but that serialize function isn't - // a template and corresponds to a file type different than - // the class Archive. To resolve this, don't include an - // archive type other than that for which the serialization - // function is defined!!! - t.serialize(ar, file_version); - } - template<class T> - static void destroy( const T * t) // const appropriate here? - { - // the const business is an MSVC 6.0 hack that should be - // benign on everything else - delete const_cast<T *>(t); - } - template<class T> - static void construct(T * t){ - // default is inplace invocation of default constructor - // Note the :: before the placement new. Required if the - // class doesn't have a class-specific placement new defined. - ::new(t)T; - } - template<class T, class U> - static T & cast_reference(U & u){ - return static_cast<T &>(u); - } - template<class T, class U> - static T * cast_pointer(U * u){ - return static_cast<T *>(u); - } -}; - -} // namespace serialization -} // namespace boost - -#endif // BOOST_SERIALIZATION_ACCESS_HPP |