]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | |
2 | // (C) Copyright Tobias Schwinger | |
3 | // | |
4 | // Use modification and distribution are subject to the boost Software License, | |
5 | // Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). | |
6 | ||
7 | //------------------------------------------------------------------------------ | |
8 | ||
9 | // no include guards, this file is intended for multiple inclusion | |
10 | ||
11 | // input: BOOST_FT_syntax type macro to use | |
12 | // input: BOOST_FT_cc empty or cc specifier | |
13 | // input: BOOST_FT_ell empty or "..." | |
14 | // input: BOOST_FT_cv empty or cv qualifiers | |
15 | // input: BOOST_FT_flags single decimal integer encoding the flags | |
16 | // output: BOOST_FT_n number of component types (arity+1) | |
17 | // output: BOOST_FT_arity current arity | |
18 | // output: BOOST_FT_type macro that expands to the type | |
19 | // output: BOOST_FT_tplargs(p) template arguments with given prefix | |
20 | // output: BOOST_FT_params(p) parameters with given prefix | |
21 | ||
22 | template< typename R , typename T0 > | |
23 | typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,1> ::type | |
24 | classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) ( BOOST_FT_ell) BOOST_FT_cv); | |
25 | template< typename R , typename T0 , typename T1 > | |
26 | typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,2> ::type | |
27 | classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 BOOST_FT_ell) BOOST_FT_cv); | |
28 | template< typename R , typename T0 , typename T1 , typename T2 > | |
29 | typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,3> ::type | |
30 | classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 BOOST_FT_ell) BOOST_FT_cv); | |
31 | template< typename R , typename T0 , typename T1 , typename T2 , typename T3 > | |
32 | typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,4> ::type | |
33 | classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv); | |
34 | template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > | |
35 | typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,5> ::type | |
36 | classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv); | |
37 | template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
38 | typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,6> ::type | |
39 | classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv); | |
40 | template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > | |
41 | typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,7> ::type | |
42 | classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv); | |
43 | template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > | |
44 | typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,8> ::type | |
45 | classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv); | |
46 | template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > | |
47 | typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,9> ::type | |
48 | classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv); | |
49 | template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > | |
50 | typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,10> ::type | |
51 | classifier_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); | |
52 |