diff options
Diffstat (limited to '3rdParty/Boost/boost/mpl/if.hpp')
m--------- | 3rdParty/Boost | 0 | ||||
-rw-r--r-- | 3rdParty/Boost/boost/mpl/if.hpp | 135 |
2 files changed, 0 insertions, 135 deletions
diff --git a/3rdParty/Boost b/3rdParty/Boost new file mode 160000 +Subproject 3bbdbc8cf1996f23d9a366da8bac0f97be6ad79 diff --git a/3rdParty/Boost/boost/mpl/if.hpp b/3rdParty/Boost/boost/mpl/if.hpp deleted file mode 100644 index aa14d88..0000000 --- a/3rdParty/Boost/boost/mpl/if.hpp +++ /dev/null @@ -1,135 +0,0 @@ - -#ifndef BOOST_MPL_IF_HPP_INCLUDED -#define BOOST_MPL_IF_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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/mpl for documentation. - -// $Id: if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ -// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ -// $Revision: 49267 $ - -#include <boost/mpl/aux_/value_wknd.hpp> -#include <boost/mpl/aux_/static_cast.hpp> -#include <boost/mpl/aux_/na_spec.hpp> -#include <boost/mpl/aux_/lambda_support.hpp> -#include <boost/mpl/aux_/config/integral.hpp> -#include <boost/mpl/aux_/config/ctps.hpp> -#include <boost/mpl/aux_/config/workaround.hpp> - -namespace boost { namespace mpl { - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - -template< - bool C - , typename T1 - , typename T2 - > -struct if_c -{ - typedef T1 type; -}; - -template< - typename T1 - , typename T2 - > -struct if_c<false,T1,T2> -{ - typedef T2 type; -}; - -// agurt, 05/sep/04: nondescriptive parameter names for the sake of DigitalMars -// (and possibly MWCW < 8.0); see http://article.gmane.org/gmane.comp.lib.boost.devel/108959 -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename BOOST_MPL_AUX_NA_PARAM(T3) - > -struct if_ -{ - private: - // agurt, 02/jan/03: two-step 'type' definition for the sake of aCC - typedef if_c< -#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) - BOOST_MPL_AUX_VALUE_WKND(T1)::value -#else - BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value) -#endif - , T2 - , T3 - > almost_type_; - - public: - typedef typename almost_type_::type type; - - BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(T1,T2,T3)) -}; - -#else - -// no partial class template specialization - -namespace aux { - -template< bool C > -struct if_impl -{ - template< typename T1, typename T2 > struct result_ - { - typedef T1 type; - }; -}; - -template<> -struct if_impl<false> -{ - template< typename T1, typename T2 > struct result_ - { - typedef T2 type; - }; -}; - -} // namespace aux - -template< - bool C_ - , typename T1 - , typename T2 - > -struct if_c -{ - typedef typename aux::if_impl< C_ > - ::template result_<T1,T2>::type type; -}; - -// (almost) copy & paste in order to save one more -// recursively nested template instantiation to user -template< - typename BOOST_MPL_AUX_NA_PARAM(C_) - , typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - > -struct if_ -{ - enum { msvc_wknd_ = BOOST_MPL_AUX_MSVC_VALUE_WKND(C_)::value }; - - typedef typename aux::if_impl< BOOST_MPL_AUX_STATIC_CAST(bool, msvc_wknd_) > - ::template result_<T1,T2>::type type; - - BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(C_,T1,T2)) -}; - -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -BOOST_MPL_AUX_NA_SPEC(3, if_) - -}} - -#endif // BOOST_MPL_IF_HPP_INCLUDED |