apply.hpp

来自「CGAL is a collaborative effort of severa」· HPP 代码 · 共 269 行

HPP
269
字号
// 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)//// Preprocessed version of "boost/mpl/apply.hpp" header// -- DO NOT modify by hand!namespace boost { namespace mpl {template<      typename F    >struct apply0    : apply_wrap0<          typename lambda<F>::type               >{    BOOST_MPL_AUX_LAMBDA_SUPPORT(          1        , apply0        , (F )        )};namespace aux {template<>struct apply_chooser<0>{    template<          typename F, typename T1, typename T2, typename T3, typename T4        , typename T5        >    struct result_    {        typedef apply0<              F            > type;    };};} // namespace auxtemplate<      typename F, typename T1    >struct apply1    : apply_wrap1<          typename lambda<F>::type        , T1        >{    BOOST_MPL_AUX_LAMBDA_SUPPORT(          2        , apply1        , (F, T1)        )};namespace aux {template<>struct apply_chooser<1>{    template<          typename F, typename T1, typename T2, typename T3, typename T4        , typename T5        >    struct result_    {        typedef apply1<              F, T1            > type;    };};} // namespace auxtemplate<      typename F, typename T1, typename T2    >struct apply2    : apply_wrap2<          typename lambda<F>::type        , T1, T2        >{    BOOST_MPL_AUX_LAMBDA_SUPPORT(          3        , apply2        , (F, T1, T2)        )};namespace aux {template<>struct apply_chooser<2>{    template<          typename F, typename T1, typename T2, typename T3, typename T4        , typename T5        >    struct result_    {        typedef apply2<              F, T1, T2            > type;    };};} // namespace auxtemplate<      typename F, typename T1, typename T2, typename T3    >struct apply3    : apply_wrap3<          typename lambda<F>::type        , T1, T2, T3        >{    BOOST_MPL_AUX_LAMBDA_SUPPORT(          4        , apply3        , (F, T1, T2, T3)        )};namespace aux {template<>struct apply_chooser<3>{    template<          typename F, typename T1, typename T2, typename T3, typename T4        , typename T5        >    struct result_    {        typedef apply3<              F, T1, T2, T3            > type;    };};} // namespace auxtemplate<      typename F, typename T1, typename T2, typename T3, typename T4    >struct apply4    : apply_wrap4<          typename lambda<F>::type        , T1, T2, T3, T4        >{    BOOST_MPL_AUX_LAMBDA_SUPPORT(          5        , apply4        , (F, T1, T2, T3, T4)        )};namespace aux {template<>struct apply_chooser<4>{    template<          typename F, typename T1, typename T2, typename T3, typename T4        , typename T5        >    struct result_    {        typedef apply4<              F, T1, T2, T3, T4            > type;    };};} // namespace auxtemplate<      typename F, typename T1, typename T2, typename T3, typename T4    , typename T5    >struct apply5    : apply_wrap5<          typename lambda<F>::type        , T1, T2, T3, T4, T5        >{    BOOST_MPL_AUX_LAMBDA_SUPPORT(          6        , apply5        , (F, T1, T2, T3, T4, T5)        )};namespace aux {template<>struct apply_chooser<5>{    template<          typename F, typename T1, typename T2, typename T3, typename T4        , typename T5        >    struct result_    {        typedef apply5<              F, T1, T2, T3, T4, T5            > type;    };};} // namespace auxnamespace aux {template< typename T >struct is_apply_arg{    static bool const value  = true;};template<>struct is_apply_arg<na>{    static bool const value  = false;};template<      typename T1, typename T2, typename T3, typename T4, typename T5    >struct apply_count_args{    static int const value  = is_apply_arg<T1>::value + is_apply_arg<T2>::value + is_apply_arg<T3>::value + is_apply_arg<T4>::value + is_apply_arg<T5>::value;};}template<      typename F, typename T1 = na, typename T2 = na, typename T3 = na    , typename T4 = na, typename T5 = na    >struct apply    : aux::apply_chooser<          aux::apply_count_args< T1,T2,T3,T4,T5 >::value        >::template result_< F,T1,T2,T3,T4,T5 >::type{};}}

⌨️ 快捷键说明

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