PageRenderTime 55ms CodeModel.GetById 35ms app.highlight 17ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/function_types/detail/components_impl/arity10_1.hpp

http://hadesmem.googlecode.com/
C++ Header | 122 lines | 100 code | 6 blank | 16 comment | 0 complexity | b74eba4f5c74370c0e8047c736e240b2 MD5 | raw file
  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