📄 msvc_eti_base.hpp
字号:
#ifndef BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED#define BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED// Copyright Aleksey Gurtovoy 2001-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_/msvc_eti_base.hpp,v $// $Date: 2004/11/20 10:39:36 $// $Revision: 1.1.1.2 $#include <boost/mpl/aux_/is_msvc_eti_arg.hpp>#include <boost/mpl/aux_/config/eti.hpp>#include <boost/mpl/aux_/config/gcc.hpp>#include <boost/mpl/aux_/config/workaround.hpp>namespace boost { namespace mpl { namespace aux {#if defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)template< bool > struct msvc_eti_base_impl{ template< typename T > struct result_ : T { typedef T type; };};template<> struct msvc_eti_base_impl<true>{ template< typename T > struct result_ { typedef result_ type; typedef result_ first; typedef result_ second; typedef result_ tag; enum { value = 0 }; };};template< typename T > struct msvc_eti_base : msvc_eti_base_impl< is_msvc_eti_arg<T>::value > ::template result_<T>{};#else // !BOOST_MPL_CFG_MSVC_70_ETI_BUGtemplate< typename T > struct msvc_eti_base : T{#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) msvc_eti_base();#endif typedef T type;};#endif template<> struct msvc_eti_base<int>{ typedef msvc_eti_base type; typedef msvc_eti_base first; typedef msvc_eti_base second; typedef msvc_eti_base tag; enum { value = 0 };};}}}#endif // BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -