⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 quote.hpp

📁 CGAL is a collaborative effort of several sites in Europe and Israel. The goal is to make the most i
💻 HPP
字号:
#if !defined(BOOST_PP_IS_ITERATING)///// header body#ifndef BOOST_MPL_QUOTE_HPP_INCLUDED#define BOOST_MPL_QUOTE_HPP_INCLUDED// Copyright Aleksey Gurtovoy 2000-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/quote.hpp,v $// $Date: 2004/11/20 10:39:25 $// $Revision: 1.1.1.2 $#if !defined(BOOST_MPL_PREPROCESSING_MODE)#   include <boost/mpl/void.hpp>#   include <boost/mpl/aux_/has_type.hpp>#endif#include <boost/mpl/aux_/config/ttp.hpp>#if defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS)#   define BOOST_MPL_CFG_NO_QUOTE_TEMPLATE#endif#if !defined(BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS) \    && defined(BOOST_MPL_CFG_NO_HAS_XXX)#   define BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS#endif#include <boost/mpl/aux_/config/use_preprocessed.hpp>#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE)#   define BOOST_MPL_PREPROCESSED_HEADER quote.hpp#   include <boost/mpl/aux_/include_preprocessed.hpp>#else#   include <boost/mpl/limits/arity.hpp>#   include <boost/mpl/aux_/preprocessor/params.hpp>#   include <boost/mpl/aux_/config/ctps.hpp>#   include <boost/mpl/aux_/config/workaround.hpp>#   include <boost/preprocessor/iterate.hpp>#   include <boost/preprocessor/cat.hpp>#if !defined(BOOST_MPL_CFG_NO_QUOTE_TEMPLATE)namespace boost { namespace mpl {#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)template< typename T, bool has_type_ >struct quote_impl    : T{};template< typename T >struct quote_impl<T,false>{    typedef T type;};#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATIONtemplate< bool > struct quote_impl{    template< typename T > struct result_        : T    {    };};template<> struct quote_impl<false>{    template< typename T > struct result_    {        typedef T type;    };};#endif #define BOOST_PP_ITERATION_PARAMS_1 \    (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/quote.hpp>))#include BOOST_PP_ITERATE()}}#endif // BOOST_MPL_CFG_NO_QUOTE_TEMPLATE#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS#endif // BOOST_MPL_QUOTE_HPP_INCLUDED///// iteration#else#define i_ BOOST_PP_FRAME_ITERATION(1)template<      template< BOOST_MPL_PP_PARAMS(i_, typename P) > class F    , typename Tag = void_    >struct BOOST_PP_CAT(quote,i_){    template< BOOST_MPL_PP_PARAMS(i_, typename U) > struct apply#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)        : quote_impl<              F< BOOST_MPL_PP_PARAMS(i_, U) >            , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value            >#else        : quote_impl< aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value >            ::template result_< F< BOOST_MPL_PP_PARAMS(i_, U) > >#endif    {    };};#undef i_#endif // BOOST_PP_IS_ITERATING

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -