![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/include/boost/mpl/aux_/ |
Upload File : |
#ifndef BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED #define BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2002-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$ // $Date$ // $Revision$ #include <boost/mpl/aux_/config/msvc.hpp> #include <boost/mpl/aux_/config/intel.hpp> #include <boost/mpl/aux_/config/workaround.hpp> #if BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION) # include <boost/mpl/has_xxx.hpp> #elif BOOST_WORKAROUND(BOOST_MSVC, < 1300) # include <boost/mpl/has_xxx.hpp> # include <boost/mpl/if.hpp> # include <boost/mpl/bool.hpp> # include <boost/mpl/aux_/msvc_is_class.hpp> #elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) # include <boost/mpl/if.hpp> # include <boost/mpl/bool.hpp> # include <boost/mpl/aux_/yes_no.hpp> # include <boost/mpl/aux_/config/static_constant.hpp> # include <boost/type_traits/is_class.hpp> #else # include <boost/mpl/aux_/type_wrapper.hpp> # include <boost/mpl/aux_/yes_no.hpp> # include <boost/mpl/aux_/config/static_constant.hpp> #endif namespace boost { namespace mpl { namespace aux { #if BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION) BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind, rebind, false) #elif BOOST_WORKAROUND(BOOST_MSVC, < 1300) BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind_impl, rebind, false) template< typename T > struct has_rebind : if_< msvc_is_class<T> , has_rebind_impl<T> , bool_<false> >::type { }; #else // the rest template< typename T > struct has_rebind_tag {}; no_tag operator|(has_rebind_tag<int>, void const volatile*); # if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) template< typename T > struct has_rebind { static has_rebind_tag<T>* get(); BOOST_STATIC_CONSTANT(bool, value = sizeof(has_rebind_tag<int>() | get()) == sizeof(yes_tag) ); }; # else // __BORLANDC__ template< typename T > struct has_rebind_impl { static T* get(); BOOST_STATIC_CONSTANT(bool, value = sizeof(has_rebind_tag<int>() | get()) == sizeof(yes_tag) ); }; template< typename T > struct has_rebind : if_< is_class<T> , has_rebind_impl<T> , bool_<false> >::type { }; # endif // __BORLANDC__ #endif }}} #endif // BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED