X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=boost%2Fboost%2Ftype_traits%2Fis_function.hpp;h=2cb1bb92d6516b75c27e6b192b69ea1b6616a888;hb=43c09d723435a5b203f2ac0c39e2086de836b386;hp=ecb0b5d6657757f95253c9333e7a7448510f8e98;hpb=376aaac146989c2060f4159a16c7e8238b400088;p=lyx.git diff --git a/boost/boost/type_traits/is_function.hpp b/boost/boost/type_traits/is_function.hpp index ecb0b5d665..2cb1bb92d6 100644 --- a/boost/boost/type_traits/is_function.hpp +++ b/boost/boost/type_traits/is_function.hpp @@ -11,19 +11,19 @@ #ifndef BOOST_TT_IS_FUNCTION_HPP_INCLUDED #define BOOST_TT_IS_FUNCTION_HPP_INCLUDED -#include "boost/type_traits/is_reference.hpp" -#include "boost/type_traits/detail/false_result.hpp" -#include "boost/config.hpp" +#include +#include +#include #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS) -# include "boost/type_traits/detail/is_function_ptr_helper.hpp" +# include #else -# include "boost/type_traits/detail/is_function_ptr_tester.hpp" -# include "boost/type_traits/detail/yes_no_type.hpp" +# include +# include #endif // should be the last #include -#include "boost/type_traits/detail/bool_trait_def.hpp" +#include // is a type a function? // Please note that this implementation is unnecessarily complex: @@ -32,12 +32,15 @@ // function pointers to void*. namespace boost { + +#if !defined( __CODEGEARC__ ) + namespace detail { #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS) template struct is_function_chooser - : ::boost::type_traits::false_result + : public ::boost::type_traits::false_result { }; @@ -45,14 +48,14 @@ template <> struct is_function_chooser { template< typename T > struct result_ - : ::boost::type_traits::is_function_ptr_helper + : public ::boost::type_traits::is_function_ptr_helper { }; }; template struct is_function_impl - : is_function_chooser< ::boost::is_reference::value > + : public is_function_chooser< ::boost::is_reference::value > ::BOOST_NESTED_TEMPLATE result_ { }; @@ -62,11 +65,18 @@ struct is_function_impl 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 }; #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) @@ -79,10 +89,18 @@ struct is_function_impl : public false_type } // namespace detail -BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_function,T,::boost::detail::is_function_impl::value) +#endif // !defined( __CODEGEARC__ ) +#if defined( __CODEGEARC__ ) +BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_function,T,__is_function(T)) +#else +BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_function,T,::boost::detail::is_function_impl::value) +#ifndef BOOST_NO_RVALUE_REFERENCES +BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_function,T&&,false) +#endif +#endif } // namespace boost -#include "boost/type_traits/detail/bool_trait_undef.hpp" +#include #endif // BOOST_TT_IS_FUNCTION_HPP_INCLUDED