X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=3rdparty%2Fboost%2Fboost%2Ftype_traits%2Fis_function.hpp;h=8556235a4371b3b8aef715160375c57d259de644;hb=09130d7a622;hp=f77c1f0469d14b434ca060526320b594b946c705;hpb=294969c6a2ba456c231e52d79b4637cdd50a6a95;p=lyx.git diff --git a/3rdparty/boost/boost/type_traits/is_function.hpp b/3rdparty/boost/boost/type_traits/is_function.hpp index f77c1f0469..8556235a43 100644 --- a/3rdparty/boost/boost/type_traits/is_function.hpp +++ b/3rdparty/boost/boost/type_traits/is_function.hpp @@ -11,92 +11,17 @@ #ifndef BOOST_TT_IS_FUNCTION_HPP_INCLUDED #define BOOST_TT_IS_FUNCTION_HPP_INCLUDED -#include #include +#include -#if !defined(BOOST_TT_TEST_MS_FUNC_SIGS) -# include -#else -# include -# include -#endif - -// is a type a function? -// Please note that this implementation is unnecessarily complex: -// we could just use !is_convertible::value, -// except that some compilers erroneously allow conversions from -// function pointers to void*. - -namespace boost { - -#if !defined( __CODEGEARC__ ) +#ifdef BOOST_TT_HAS_ASCCURATE_IS_FUNCTION -namespace detail { - -#if !defined(BOOST_TT_TEST_MS_FUNC_SIGS) -template -struct is_function_chooser -{ - template< typename T > struct result_ - : public false_type {}; -}; - -template <> -struct is_function_chooser -{ - template< typename T > struct result_ - : public ::boost::type_traits::is_function_ptr_helper {}; -}; - -template -struct is_function_impl - : public is_function_chooser< ::boost::is_reference::value > - ::BOOST_NESTED_TEMPLATE result_ -{ -}; +#include #else -template -struct is_function_impl -{ -#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -#pragma warning(push) -#pragma warning(disable:6334) -#endif - static T* t; - BOOST_STATIC_CONSTANT( - bool, value = sizeof(::boost::type_traits::is_function_ptr_tester(t)) - == sizeof(::boost::type_traits::yes_type) - ); -#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -#pragma warning(pop) -#endif -}; - -template -struct is_function_impl : public false_type -{}; -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -template -struct is_function_impl : public false_type -{}; -#endif - -#endif +#include -} // namespace detail - -#endif // !defined( __CODEGEARC__ ) - -#if defined( __CODEGEARC__ ) -template struct is_function : integral_constant {}; -#else -template struct is_function : integral_constant::value> {}; -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -template struct is_function : public false_type {}; -#endif #endif -} // namespace boost #endif // BOOST_TT_IS_FUNCTION_HPP_INCLUDED