diff options
Diffstat (limited to '3rdParty/Boost/src/boost/utility/enable_if.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/utility/enable_if.hpp | 122 |
1 files changed, 10 insertions, 112 deletions
diff --git a/3rdParty/Boost/src/boost/utility/enable_if.hpp b/3rdParty/Boost/src/boost/utility/enable_if.hpp index d292c6a..803bfca 100644 --- a/3rdParty/Boost/src/boost/utility/enable_if.hpp +++ b/3rdParty/Boost/src/boost/utility/enable_if.hpp @@ -1,119 +1,17 @@ -// Boost enable_if library - -// Copyright 2003 (c) The Trustees of Indiana University. - -// 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) - -// Authors: Jaakko Jarvi (jajarvi at osl.iu.edu) -// Jeremiah Willcock (jewillco at osl.iu.edu) -// Andrew Lumsdaine (lums at osl.iu.edu) - +/* + * Copyright (c) 2014 Glen Fernandes + * + * 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) + */ #ifndef BOOST_UTILITY_ENABLE_IF_HPP #define BOOST_UTILITY_ENABLE_IF_HPP -#include "boost/config.hpp" - -// Even the definition of enable_if causes problems on some compilers, -// so it's macroed out for all compilers that do not support SFINAE - -#ifndef BOOST_NO_SFINAE - -namespace boost -{ - - template <bool B, class T = void> - struct enable_if_c { - typedef T type; - }; - - template <class T> - struct enable_if_c<false, T> {}; - - template <class Cond, class T = void> - struct enable_if : public enable_if_c<Cond::value, T> {}; - - template <bool B, class T> - struct lazy_enable_if_c { - typedef typename T::type type; - }; - - template <class T> - struct lazy_enable_if_c<false, T> {}; - - template <class Cond, class T> - struct lazy_enable_if : public lazy_enable_if_c<Cond::value, T> {}; - - - template <bool B, class T = void> - struct disable_if_c { - typedef T type; - }; - - template <class T> - struct disable_if_c<true, T> {}; - - template <class Cond, class T = void> - struct disable_if : public disable_if_c<Cond::value, T> {}; - - template <bool B, class T> - struct lazy_disable_if_c { - typedef typename T::type type; - }; - - template <class T> - struct lazy_disable_if_c<true, T> {}; - - template <class Cond, class T> - struct lazy_disable_if : public lazy_disable_if_c<Cond::value, T> {}; - -} // namespace boost - -#else - -namespace boost { - - namespace detail { typedef void enable_if_default_T; } - - template <typename T> - struct enable_if_does_not_work_on_this_compiler; - - template <bool B, class T = detail::enable_if_default_T> - struct enable_if_c : enable_if_does_not_work_on_this_compiler<T> - { }; - - template <bool B, class T = detail::enable_if_default_T> - struct disable_if_c : enable_if_does_not_work_on_this_compiler<T> - { }; - - template <bool B, class T = detail::enable_if_default_T> - struct lazy_enable_if_c : enable_if_does_not_work_on_this_compiler<T> - { }; - - template <bool B, class T = detail::enable_if_default_T> - struct lazy_disable_if_c : enable_if_does_not_work_on_this_compiler<T> - { }; - - template <class Cond, class T = detail::enable_if_default_T> - struct enable_if : enable_if_does_not_work_on_this_compiler<T> - { }; - - template <class Cond, class T = detail::enable_if_default_T> - struct disable_if : enable_if_does_not_work_on_this_compiler<T> - { }; - - template <class Cond, class T = detail::enable_if_default_T> - struct lazy_enable_if : enable_if_does_not_work_on_this_compiler<T> - { }; - - template <class Cond, class T = detail::enable_if_default_T> - struct lazy_disable_if : enable_if_does_not_work_on_this_compiler<T> - { }; - -} // namespace boost +// The header file at this path is deprecated; +// use boost/core/enable_if.hpp instead. -#endif // BOOST_NO_SFINAE +#include <boost/core/enable_if.hpp> #endif |