arity10_1.hpp

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

HPP
123
字号
// (C) Copyright Tobias Schwinger//// Use modification and distribution are subject to the boost Software License,// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).//------------------------------------------------------------------------------// no include guards, this file is intended for multiple inclusion// input:  BOOST_FT_syntax     type macro to use// input:  BOOST_FT_cc         empty or cc specifier // input:  BOOST_FT_ell        empty or "..."// input:  BOOST_FT_cv         empty or cv qualifiers// input:  BOOST_FT_flags      single decimal integer encoding the flags// output: BOOST_FT_n          number of component types (arity+1)// output: BOOST_FT_arity      current arity// output: BOOST_FT_type       macro that expands to the type// output: BOOST_FT_tplargs(p) template arguments with given prefix// output: BOOST_FT_params(p)  parameters with given prefixtemplate< typename R , typename T0, typename L>struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) ( BOOST_FT_ell) BOOST_FT_cv, L>{typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;typedef constant<BOOST_FT_full_mask> mask;typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) ( BOOST_FT_ell) BOOST_FT_cv, L> type;typedef components_mpl_sequence_tag tag;typedef mpl::integral_c<std::size_t,1> function_arity;typedef mpl::vector2< R, typename class_transform<T0 BOOST_FT_cv, L> ::type > types;};template< typename R , typename T0 , typename T1, typename L>struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 BOOST_FT_ell) BOOST_FT_cv, L>{typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;typedef constant<BOOST_FT_full_mask> mask;typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 BOOST_FT_ell) BOOST_FT_cv, L> type;typedef components_mpl_sequence_tag tag;typedef mpl::integral_c<std::size_t,2> function_arity;typedef mpl::vector3< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 > types;};template< typename R , typename T0 , typename T1 , typename T2, typename L>struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 BOOST_FT_ell) BOOST_FT_cv, L>{typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;typedef constant<BOOST_FT_full_mask> mask;typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 BOOST_FT_ell) BOOST_FT_cv, L> type;typedef components_mpl_sequence_tag tag;typedef mpl::integral_c<std::size_t,3> function_arity;typedef mpl::vector4< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 > types;};template< typename R , typename T0 , typename T1 , typename T2 , typename T3, typename L>struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv, L>{typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;typedef constant<BOOST_FT_full_mask> mask;typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv, L> type;typedef components_mpl_sequence_tag tag;typedef mpl::integral_c<std::size_t,4> function_arity;typedef mpl::vector5< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 > types;};template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4, typename L>struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv, L>{typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;typedef constant<BOOST_FT_full_mask> mask;typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv, L> type;typedef components_mpl_sequence_tag tag;typedef mpl::integral_c<std::size_t,5> function_arity;typedef mpl::vector6< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 > types;};template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5, typename L>struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv, L>{typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;typedef constant<BOOST_FT_full_mask> mask;typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv, L> type;typedef components_mpl_sequence_tag tag;typedef mpl::integral_c<std::size_t,6> function_arity;typedef mpl::vector7< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 > types;};template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6, typename L>struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv, L>{typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;typedef constant<BOOST_FT_full_mask> mask;typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv, L> type;typedef components_mpl_sequence_tag tag;typedef mpl::integral_c<std::size_t,7> function_arity;typedef mpl::vector8< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 > types;};template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7, typename L>struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv, L>{typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;typedef constant<BOOST_FT_full_mask> mask;typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv, L> type;typedef components_mpl_sequence_tag tag;typedef mpl::integral_c<std::size_t,8> function_arity;typedef mpl::vector9< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 > types;};template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8, typename L>struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv, L>{typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;typedef constant<BOOST_FT_full_mask> mask;typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv, L> type;typedef components_mpl_sequence_tag tag;typedef mpl::integral_c<std::size_t,9> function_arity;typedef mpl::vector10< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > types;};template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9, typename L>struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv, L>{typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;typedef constant<BOOST_FT_full_mask> mask;typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv, L> type;typedef components_mpl_sequence_tag tag;typedef mpl::integral_c<std::size_t,10> function_arity;typedef mpl::vector11< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > types;};

⌨️ 快捷键说明

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