diff options
Diffstat (limited to '3rdParty/Boost/src/boost/serialization/pfto.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/serialization/pfto.hpp | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/3rdParty/Boost/src/boost/serialization/pfto.hpp b/3rdParty/Boost/src/boost/serialization/pfto.hpp deleted file mode 100644 index 8d98463..0000000 --- a/3rdParty/Boost/src/boost/serialization/pfto.hpp +++ /dev/null @@ -1,78 +0,0 @@ -#ifndef BOOST_SERIALIZATION_PFTO_HPP -#define BOOST_SERIALIZATION_PFTO_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 -// pfto.hpp: workarounds for compilers which have problems supporting -// Partial Function Template Ordering (PFTO). - -// (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/libs/serialization for updates, documentation, and revision history. -// PFTO version is used to specify the last argument of certain functions -// Function it is used to support compilers that fail to support correct Partial -// Template Ordering -#include <boost/config.hpp> - -// some compilers can use an exta argument and use function overloading -// to choose desired function. This extra argument is long in the default -// function implementation and int for the rest. The function is called -// with an int argument. This first attempts to match functions with an -// int argument before the default one (with a long argument). This is -// known to function with VC 6.0. On other compilers this fails (Borland) -// or causes other problems (GCC). note: this - -#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - #define BOOST_PFTO long -#else - #define BOOST_PFTO -#endif - -// here's another approach. Rather than use a default function - make sure -// there is no default at all by requiring that all function invocations -// have a "wrapped" argument type. This solves a problem with VC 6.0 -// (and perhaps others) while implementing templated constructors. - -namespace boost { -namespace serialization { - -template<class T> -struct pfto_wrapper { - const T & t; - operator const T & (){ - return t; - } - pfto_wrapper (const T & rhs) : t(rhs) {} -}; - -template<class T> -pfto_wrapper< T > make_pfto_wrapper(const T & t, BOOST_PFTO int){ - return pfto_wrapper< T >(t); -} - -template<class T> -pfto_wrapper< T > make_pfto_wrapper(const pfto_wrapper< T > & t, int){ - return t; -} - -} // namespace serialization -} // namespace boost - -#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - #define BOOST_PFTO_WRAPPER(T) \ - boost::serialization::pfto_wrapper< T > - #define BOOST_MAKE_PFTO_WRAPPER(t) \ - boost::serialization::make_pfto_wrapper(t, 0) -#else - #define BOOST_PFTO_WRAPPER(T) T - #define BOOST_MAKE_PFTO_WRAPPER(t) t -#endif - -#endif // BOOST_SERIALIZATION_PFTO_HPP |