arity20_1.hpp

来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 528 行 · 第 1/2 页

HPP
528
字号
// (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 prefix# include <boost/function_types/detail/synthesize_impl/arity10_1.hpp># define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## aritytemplate< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 >struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11){typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv ;};template< > struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 12 > { template<typename S> struct synthesize_impl_i{private:typedef typename mpl::begin<S> ::type iter_0;typedef typename mpl::next< iter_0 > ::type iter_1;typedef typename mpl::next< iter_1 > ::type iter_2;typedef typename mpl::next< iter_2 > ::type iter_3;typedef typename mpl::next< iter_3 > ::type iter_4;typedef typename mpl::next< iter_4 > ::type iter_5;typedef typename mpl::next< iter_5 > ::type iter_6;typedef typename mpl::next< iter_6 > ::type iter_7;typedef typename mpl::next< iter_7 > ::type iter_8;typedef typename mpl::next< iter_8 > ::type iter_9;typedef typename mpl::next< iter_9 > ::type iter_10;typedef typename mpl::next< iter_10 > ::type iter_11;public:typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11) < typename mpl::deref< iter_0 > ::type , typename detail::cv_traits< typename mpl::deref< iter_1 > ::type > ::type, typename mpl::deref< iter_2 > ::type, typename mpl::deref< iter_3 > ::type, typename mpl::deref< iter_4 > ::type, typename mpl::deref< iter_5 > ::type, typename mpl::deref< iter_6 > ::type, typename mpl::deref< iter_7 > ::type, typename mpl::deref< iter_8 > ::type, typename mpl::deref< iter_9 > ::type, typename mpl::deref< iter_10 > ::type, typename mpl::deref< iter_11 > ::type> ::type type;};};template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 >struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12){typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv ;};template< > struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 13 > { template<typename S> struct synthesize_impl_i{private:typedef typename mpl::begin<S> ::type iter_0;typedef typename mpl::next< iter_0 > ::type iter_1;typedef typename mpl::next< iter_1 > ::type iter_2;typedef typename mpl::next< iter_2 > ::type iter_3;typedef typename mpl::next< iter_3 > ::type iter_4;typedef typename mpl::next< iter_4 > ::type iter_5;typedef typename mpl::next< iter_5 > ::type iter_6;typedef typename mpl::next< iter_6 > ::type iter_7;typedef typename mpl::next< iter_7 > ::type iter_8;typedef typename mpl::next< iter_8 > ::type iter_9;typedef typename mpl::next< iter_9 > ::type iter_10;typedef typename mpl::next< iter_10 > ::type iter_11;typedef typename mpl::next< iter_11 > ::type iter_12;public:typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12) < typename mpl::deref< iter_0 > ::type , typename detail::cv_traits< typename mpl::deref< iter_1 > ::type > ::type, typename mpl::deref< iter_2 > ::type, typename mpl::deref< iter_3 > ::type, typename mpl::deref< iter_4 > ::type, typename mpl::deref< iter_5 > ::type, typename mpl::deref< iter_6 > ::type, typename mpl::deref< iter_7 > ::type, typename mpl::deref< iter_8 > ::type, typename mpl::deref< iter_9 > ::type, typename mpl::deref< iter_10 > ::type, typename mpl::deref< iter_11 > ::type, typename mpl::deref< iter_12 > ::type> ::type type;};};template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 >struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13){typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv ;};template< > struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 14 > { template<typename S> struct synthesize_impl_i{private:typedef typename mpl::begin<S> ::type iter_0;typedef typename mpl::next< iter_0 > ::type iter_1;typedef typename mpl::next< iter_1 > ::type iter_2;typedef typename mpl::next< iter_2 > ::type iter_3;typedef typename mpl::next< iter_3 > ::type iter_4;typedef typename mpl::next< iter_4 > ::type iter_5;typedef typename mpl::next< iter_5 > ::type iter_6;typedef typename mpl::next< iter_6 > ::type iter_7;typedef typename mpl::next< iter_7 > ::type iter_8;typedef typename mpl::next< iter_8 > ::type iter_9;typedef typename mpl::next< iter_9 > ::type iter_10;typedef typename mpl::next< iter_10 > ::type iter_11;typedef typename mpl::next< iter_11 > ::type iter_12;typedef typename mpl::next< iter_12 > ::type iter_13;public:typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13) < typename mpl::deref< iter_0 > ::type , typename detail::cv_traits< typename mpl::deref< iter_1 > ::type > ::type, typename mpl::deref< iter_2 > ::type, typename mpl::deref< iter_3 > ::type, typename mpl::deref< iter_4 > ::type, typename mpl::deref< iter_5 > ::type, typename mpl::deref< iter_6 > ::type, typename mpl::deref< iter_7 > ::type, typename mpl::deref< iter_8 > ::type, typename mpl::deref< iter_9 > ::type, typename mpl::deref< iter_10 > ::type, typename mpl::deref< iter_11 > ::type, typename mpl::deref< iter_12 > ::type, typename mpl::deref< iter_13 > ::type> ::type type;};};template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 >struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14){typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv ;};template< > struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 15 > { template<typename S> struct synthesize_impl_i{private:typedef typename mpl::begin<S> ::type iter_0;typedef typename mpl::next< iter_0 > ::type iter_1;typedef typename mpl::next< iter_1 > ::type iter_2;typedef typename mpl::next< iter_2 > ::type iter_3;typedef typename mpl::next< iter_3 > ::type iter_4;typedef typename mpl::next< iter_4 > ::type iter_5;typedef typename mpl::next< iter_5 > ::type iter_6;typedef typename mpl::next< iter_6 > ::type iter_7;typedef typename mpl::next< iter_7 > ::type iter_8;typedef typename mpl::next< iter_8 > ::type iter_9;typedef typename mpl::next< iter_9 > ::type iter_10;typedef typename mpl::next< iter_10 > ::type iter_11;typedef typename mpl::next< iter_11 > ::type iter_12;typedef typename mpl::next< iter_12 > ::type iter_13;typedef typename mpl::next< iter_13 > ::type iter_14;public:typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14) < typename mpl::deref< iter_0 > ::type , typename detail::cv_traits< typename mpl::deref< iter_1 > ::type > ::type, typename mpl::deref< iter_2 > ::type, typename mpl::deref< iter_3 > ::type, typename mpl::deref< iter_4 > ::type, typename mpl::deref< iter_5 > ::type, typename mpl::deref< iter_6 > ::type, typename mpl::deref< iter_7 > ::type, typename mpl::deref< iter_8 > ::type, typename mpl::deref< iter_9 > ::type, typename mpl::deref< iter_10 > ::type, typename mpl::deref< iter_11 > ::type, typename mpl::deref< iter_12 > ::type, typename mpl::deref< iter_13 > ::type, typename mpl::deref< iter_14 > ::type> ::type type;};};template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 >struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15){typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv ;};template< > struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 16 > { template<typename S> struct synthesize_impl_i{private:typedef typename mpl::begin<S> ::type iter_0;typedef typename mpl::next< iter_0 > ::type iter_1;typedef typename mpl::next< iter_1 > ::type iter_2;typedef typename mpl::next< iter_2 > ::type iter_3;typedef typename mpl::next< iter_3 > ::type iter_4;typedef typename mpl::next< iter_4 > ::type iter_5;typedef typename mpl::next< iter_5 > ::type iter_6;typedef typename mpl::next< iter_6 > ::type iter_7;typedef typename mpl::next< iter_7 > ::type iter_8;typedef typename mpl::next< iter_8 > ::type iter_9;typedef typename mpl::next< iter_9 > ::type iter_10;typedef typename mpl::next< iter_10 > ::type iter_11;typedef typename mpl::next< iter_11 > ::type iter_12;typedef typename mpl::next< iter_12 > ::type iter_13;typedef typename mpl::next< iter_13 > ::type iter_14;typedef typename mpl::next< iter_14 > ::type iter_15;public:typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15) < typename mpl::deref< iter_0 > ::type , typename detail::cv_traits< typename mpl::deref< iter_1 > ::type > ::type, typename mpl::deref< iter_2 > ::type, typename mpl::deref< iter_3 > ::type, typename mpl::deref< iter_4 > ::type, typename mpl::deref< iter_5 > ::type, typename mpl::deref< iter_6 > ::type, typename mpl::deref< iter_7 > ::type, typename mpl::deref< iter_8 > ::type, typename mpl::deref< iter_9 > ::type, typename mpl::deref< iter_10 > ::type, typename mpl::deref< iter_11 > ::type, typename mpl::deref< iter_12 > ::type, typename mpl::deref< iter_13 > ::type, typename mpl::deref< iter_14 > ::type, typename mpl::deref< iter_15 > ::type> ::type type;};};template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 >struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16){typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv ;};template< > struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 17 > { template<typename S> struct synthesize_impl_i{private:typedef typename mpl::begin<S> ::type iter_0;typedef typename mpl::next< iter_0 > ::type iter_1;typedef typename mpl::next< iter_1 > ::type iter_2;typedef typename mpl::next< iter_2 > ::type iter_3;

⌨️ 快捷键说明

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