apply_wrap.hpp

来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 462 行

HPP
462
字号
// Copyright Aleksey Gurtovoy 2000-2008//// 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 the main "apply_wrap.hpp" header// -- DO NOT modify by hand!namespace boost { namespace mpl {template<      int N, typename F    >struct apply_wrap_impl0;template< typename F, bool F_has_apply >struct apply_wrap_impl0_bcb {    typedef typename F::template apply<na> type;};template< typename F >struct apply_wrap_impl0_bcb< F,true > {    typedef typename F::apply type;};template<      typename F    >struct apply_wrap_impl0<          0        , F               >{    typedef apply_wrap_impl0_bcb< F, aux::has_apply<F>::value >::type type;};template<      typename F    >struct apply_wrap_impl0<          1        , F               >{    typedef typename F::template apply<                 na        > type;};template<      typename F    >struct apply_wrap_impl0<          2        , F               >{    typedef typename F::template apply<                 na, na        > type;};template<      typename F    >struct apply_wrap_impl0<          3        , F               >{    typedef typename F::template apply<                 na, na, na        > type;};template<      typename F    >struct apply_wrap_impl0<          4        , F               >{    typedef typename F::template apply<                 na, na, na, na        > type;};template<      typename F    >struct apply_wrap_impl0<          5        , F               >{    typedef typename F::template apply<                 na, na, na, na, na        > type;};template<      typename F    >struct apply_wrap0    : apply_wrap_impl0<          ::boost::mpl::aux::arity< F,0 >::value        , F               >::type{};template<      int N, typename F, typename T1    >struct apply_wrap_impl1;template<      typename F, typename T1    >struct apply_wrap_impl1<          1        , F        , T1        >{    typedef typename F::template apply<          T1        > type;};template<      typename F, typename T1    >struct apply_wrap_impl1<          2        , F        , T1        >{    typedef typename F::template apply<          T1        , na        > type;};template<      typename F, typename T1    >struct apply_wrap_impl1<          3        , F        , T1        >{    typedef typename F::template apply<          T1        , na, na        > type;};template<      typename F, typename T1    >struct apply_wrap_impl1<          4        , F        , T1        >{    typedef typename F::template apply<          T1        , na, na, na        > type;};template<      typename F, typename T1    >struct apply_wrap_impl1<          5        , F        , T1        >{    typedef typename F::template apply<          T1        , na, na, na, na        > type;};template<      typename F, typename T1    >struct apply_wrap1    : apply_wrap_impl1<          ::boost::mpl::aux::arity< F,1 >::value        , F        , T1        >::type{};template<      int N, typename F, typename T1, typename T2    >struct apply_wrap_impl2;template<      typename F, typename T1, typename T2    >struct apply_wrap_impl2<          2        , F        , T1, T2        >{    typedef typename F::template apply<          T1, T2        > type;};template<      typename F, typename T1, typename T2    >struct apply_wrap_impl2<          3        , F        , T1, T2        >{    typedef typename F::template apply<          T1, T2        , na        > type;};template<      typename F, typename T1, typename T2    >struct apply_wrap_impl2<          4        , F        , T1, T2        >{    typedef typename F::template apply<          T1, T2        , na, na        > type;};template<      typename F, typename T1, typename T2    >struct apply_wrap_impl2<          5        , F        , T1, T2        >{    typedef typename F::template apply<          T1, T2        , na, na, na        > type;};template<      typename F, typename T1, typename T2    >struct apply_wrap2    : apply_wrap_impl2<          ::boost::mpl::aux::arity< F,2 >::value        , F        , T1, T2        >::type{};template<      int N, typename F, typename T1, typename T2, typename T3    >struct apply_wrap_impl3;template<      typename F, typename T1, typename T2, typename T3    >struct apply_wrap_impl3<          3        , F        , T1, T2, T3        >{    typedef typename F::template apply<          T1, T2, T3        > type;};template<      typename F, typename T1, typename T2, typename T3    >struct apply_wrap_impl3<          4        , F        , T1, T2, T3        >{    typedef typename F::template apply<          T1, T2, T3        , na        > type;};template<      typename F, typename T1, typename T2, typename T3    >struct apply_wrap_impl3<          5        , F        , T1, T2, T3        >{    typedef typename F::template apply<          T1, T2, T3        , na, na        > type;};template<      typename F, typename T1, typename T2, typename T3    >struct apply_wrap3    : apply_wrap_impl3<          ::boost::mpl::aux::arity< F,3 >::value        , F        , T1, T2, T3        >::type{};template<      int N, typename F, typename T1, typename T2, typename T3, typename T4    >struct apply_wrap_impl4;template<      typename F, typename T1, typename T2, typename T3, typename T4    >struct apply_wrap_impl4<          4        , F        , T1, T2, T3, T4        >{    typedef typename F::template apply<          T1, T2, T3, T4        > type;};template<      typename F, typename T1, typename T2, typename T3, typename T4    >struct apply_wrap_impl4<          5        , F        , T1, T2, T3, T4        >{    typedef typename F::template apply<          T1, T2, T3, T4        , na        > type;};template<      typename F, typename T1, typename T2, typename T3, typename T4    >struct apply_wrap4    : apply_wrap_impl4<          ::boost::mpl::aux::arity< F,4 >::value        , F        , T1, T2, T3, T4        >::type{};template<      int N, typename F, typename T1, typename T2, typename T3, typename T4    , typename T5    >struct apply_wrap_impl5;template<      typename F, typename T1, typename T2, typename T3, typename T4    , typename T5    >struct apply_wrap_impl5<          5        , F        , T1, T2, T3, T4, T5        >{    typedef typename F::template apply<          T1, T2, T3, T4, T5        > type;};template<      typename F, typename T1, typename T2, typename T3, typename T4    , typename T5    >struct apply_wrap5    : apply_wrap_impl5<          ::boost::mpl::aux::arity< F,5 >::value        , F        , T1, T2, T3, T4, T5        >::type{};}}

⌨️ 快捷键说明

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