123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527 |
- // (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 ## _ ## arity
- 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 >
- 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;
- 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;
- typedef typename mpl::next< iter_15 > ::type iter_16;
- public:
- typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16)
- < 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
- , typename mpl::deref< iter_16 > ::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 , typename T16 >
- struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17)
- {
- 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 , T16 BOOST_FT_ell) BOOST_FT_cv ;
- };
- template< >
- struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 18 >
- {
- 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;
- typedef typename mpl::next< iter_15 > ::type iter_16;
- typedef typename mpl::next< iter_16 > ::type iter_17;
- public:
- typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17)
- < 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
- , typename mpl::deref< iter_16 > ::type
- , typename mpl::deref< iter_17 > ::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 , typename T16 , typename T17 >
- struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18)
- {
- 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 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv ;
- };
- template< >
- struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 19 >
- {
- 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;
- typedef typename mpl::next< iter_15 > ::type iter_16;
- typedef typename mpl::next< iter_16 > ::type iter_17;
- typedef typename mpl::next< iter_17 > ::type iter_18;
- public:
- typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18)
- < 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
- , typename mpl::deref< iter_16 > ::type
- , typename mpl::deref< iter_17 > ::type
- , typename mpl::deref< iter_18 > ::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 , typename T16 , typename T17 , typename T18 >
- struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19)
- {
- 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 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv ;
- };
- template< >
- struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 20 >
- {
- 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;
- typedef typename mpl::next< iter_15 > ::type iter_16;
- typedef typename mpl::next< iter_16 > ::type iter_17;
- typedef typename mpl::next< iter_17 > ::type iter_18;
- typedef typename mpl::next< iter_18 > ::type iter_19;
- public:
- typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19)
- < 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
- , typename mpl::deref< iter_16 > ::type
- , typename mpl::deref< iter_17 > ::type
- , typename mpl::deref< iter_18 > ::type
- , typename mpl::deref< iter_19 > ::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 , typename T16 , typename T17 , typename T18 , typename T19 >
- struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20)
- {
- 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 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv ;
- };
- template< >
- struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 21 >
- {
- 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;
- typedef typename mpl::next< iter_15 > ::type iter_16;
- typedef typename mpl::next< iter_16 > ::type iter_17;
- typedef typename mpl::next< iter_17 > ::type iter_18;
- typedef typename mpl::next< iter_18 > ::type iter_19;
- typedef typename mpl::next< iter_19 > ::type iter_20;
- public:
- typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20)
- < 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
- , typename mpl::deref< iter_16 > ::type
- , typename mpl::deref< iter_17 > ::type
- , typename mpl::deref< iter_18 > ::type
- , typename mpl::deref< iter_19 > ::type
- , typename mpl::deref< iter_20 > ::type
- > ::type type;
- };
- };
- # undef BOOST_FT_make_type
- # undef BOOST_FT_make_type_impl
|