]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/function_types/include/boost/function_types/detail/components_impl/arity10_1.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / function_types / include / boost / function_types / detail / components_impl / arity10_1.hpp
CommitLineData
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
22template< typename R , typename T0, typename L>
23struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) ( BOOST_FT_ell) BOOST_FT_cv, L>
24{
25typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
26typedef constant<BOOST_FT_full_mask> mask;
27typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) ( BOOST_FT_ell) BOOST_FT_cv, L> type;
28typedef components_mpl_sequence_tag tag;
29typedef mpl::integral_c<std::size_t,1> function_arity;
30typedef mpl::vector2< R, typename class_transform<T0 BOOST_FT_cv, L> ::type > types;
31};
32template< typename R , typename T0 , typename T1, typename L>
33struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 BOOST_FT_ell) BOOST_FT_cv, L>
34{
35typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
36typedef constant<BOOST_FT_full_mask> mask;
37typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 BOOST_FT_ell) BOOST_FT_cv, L> type;
38typedef components_mpl_sequence_tag tag;
39typedef mpl::integral_c<std::size_t,2> function_arity;
40typedef mpl::vector3< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 > types;
41};
42template< typename R , typename T0 , typename T1 , typename T2, typename L>
43struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 BOOST_FT_ell) BOOST_FT_cv, L>
44{
45typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
46typedef constant<BOOST_FT_full_mask> mask;
47typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 BOOST_FT_ell) BOOST_FT_cv, L> type;
48typedef components_mpl_sequence_tag tag;
49typedef mpl::integral_c<std::size_t,3> function_arity;
50typedef mpl::vector4< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 > types;
51};
52template< typename R , typename T0 , typename T1 , typename T2 , typename T3, typename L>
53struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv, L>
54{
55typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
56typedef constant<BOOST_FT_full_mask> mask;
57typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv, L> type;
58typedef components_mpl_sequence_tag tag;
59typedef mpl::integral_c<std::size_t,4> function_arity;
60typedef mpl::vector5< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 > types;
61};
62template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4, typename L>
63struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv, L>
64{
65typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
66typedef constant<BOOST_FT_full_mask> mask;
67typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv, L> type;
68typedef components_mpl_sequence_tag tag;
69typedef mpl::integral_c<std::size_t,5> function_arity;
70typedef mpl::vector6< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 > types;
71};
72template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5, typename L>
73struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv, L>
74{
75typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
76typedef constant<BOOST_FT_full_mask> mask;
77typedef 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;
78typedef components_mpl_sequence_tag tag;
79typedef mpl::integral_c<std::size_t,6> function_arity;
80typedef mpl::vector7< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 > types;
81};
82template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6, typename L>
83struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv, L>
84{
85typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
86typedef constant<BOOST_FT_full_mask> mask;
87typedef 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;
88typedef components_mpl_sequence_tag tag;
89typedef mpl::integral_c<std::size_t,7> function_arity;
90typedef mpl::vector8< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 > types;
91};
92template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7, typename L>
93struct 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>
94{
95typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
96typedef constant<BOOST_FT_full_mask> mask;
97typedef 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;
98typedef components_mpl_sequence_tag tag;
99typedef mpl::integral_c<std::size_t,8> function_arity;
100typedef mpl::vector9< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 > types;
101};
102template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8, typename L>
103struct 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>
104{
105typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
106typedef constant<BOOST_FT_full_mask> mask;
107typedef 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;
108typedef components_mpl_sequence_tag tag;
109typedef mpl::integral_c<std::size_t,9> function_arity;
110typedef mpl::vector10< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > types;
111};
112template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9, typename L>
113struct 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>
114{
115typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
116typedef constant<BOOST_FT_full_mask> mask;
117typedef 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;
118typedef components_mpl_sequence_tag tag;
119typedef mpl::integral_c<std::size_t,10> function_arity;
120typedef mpl::vector11< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > types;
121};
122