has_rebind.hpp
来自「CGAL is a collaborative effort of severa」· HPP 代码 · 共 100 行
HPP
100 行
#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.// $Source: /CVSROOT/CGAL/Packages/Boost/include/boost/mpl/aux_/has_rebind.hpp,v $// $Date: 2004/11/20 10:39:33 $// $Revision: 1.1.1.2 $#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, <= 1200)# 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__, < 0x600)# 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>#endifnamespace 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, <= 1200)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 resttemplate< typename T > struct has_rebind_tag {};no_tag operator|(has_rebind_tag<int>, void const volatile*);# if !BOOST_WORKAROUND(__BORLANDC__, < 0x600)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
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?