blob: cd799e53e7249e28d82cadf0c40b0f4b4cb84316 [file] [log] [blame]
Jeff Thompsona28eed82013-08-22 16:21:10 -07001
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
Jeff Thompson3d613fd2013-10-15 15:39:04 -070011// input: NDNBOOST_FT_syntax type macro to use
12// input: NDNBOOST_FT_cc empty or cc specifier
13// input: NDNBOOST_FT_ell empty or "..."
14// input: NDNBOOST_FT_cv empty or cv qualifiers
15// input: NDNBOOST_FT_flags single decimal integer encoding the flags
16// output: NDNBOOST_FT_n number of component types (arity+1)
17// output: NDNBOOST_FT_arity current arity
18// output: NDNBOOST_FT_type macro that expands to the type
19// output: NDNBOOST_FT_tplargs(p) template arguments with given prefix
20// output: NDNBOOST_FT_params(p) parameters with given prefix
Jeff Thompsona28eed82013-08-22 16:21:10 -070021
22# include <ndnboost/function_types/detail/classifier_impl/arity10_1.hpp>
23template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070024typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,11> ::type
25classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
Jeff Thompsona28eed82013-08-22 16:21:10 -070026template< 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 >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070027typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,12> ::type
28classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
Jeff Thompsona28eed82013-08-22 16:21:10 -070029template< 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 >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070030typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,13> ::type
31classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
Jeff Thompsona28eed82013-08-22 16:21:10 -070032template< 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 >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070033typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,14> ::type
34classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
Jeff Thompsona28eed82013-08-22 16:21:10 -070035template< 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 >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070036typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,15> ::type
37classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
Jeff Thompsona28eed82013-08-22 16:21:10 -070038template< 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 >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070039typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,16> ::type
40classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
Jeff Thompsona28eed82013-08-22 16:21:10 -070041template< 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 >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070042typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,17> ::type
43classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
Jeff Thompsona28eed82013-08-22 16:21:10 -070044template< 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 >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070045typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,18> ::type
46classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
Jeff Thompsona28eed82013-08-22 16:21:10 -070047template< 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 >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070048typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,19> ::type
49classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
Jeff Thompsona28eed82013-08-22 16:21:10 -070050template< 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 >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070051typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,20> ::type
52classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
Jeff Thompsona28eed82013-08-22 16:21:10 -070053