From 3c92230f827569eb9f80e3dc65f164fc79f86a33 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Sat, 17 Sep 2011 05:52:59 +0000 Subject: [PATCH] More preprocessed files [SVN r74429] --- .../boost/fusion/container/deque/limits.hpp | 17 +- include/boost/fusion/container/generation.hpp | 5 +- .../fusion/container/generation/deque_tie.hpp | 32 +- .../detail/preprocessed/deque_tie.hpp | 22 + .../detail/preprocessed/deque_tie10.hpp | 170 +++ .../detail/preprocessed/deque_tie20.hpp | 320 +++++ .../detail/preprocessed/deque_tie30.hpp | 470 +++++++ .../detail/preprocessed/deque_tie40.hpp | 620 ++++++++++ .../detail/preprocessed/deque_tie50.hpp | 770 ++++++++++++ .../detail/preprocessed/list_tie.hpp | 22 + .../detail/preprocessed/list_tie10.hpp | 170 +++ .../detail/preprocessed/list_tie20.hpp | 320 +++++ .../detail/preprocessed/list_tie30.hpp | 470 +++++++ .../detail/preprocessed/list_tie40.hpp | 620 ++++++++++ .../detail/preprocessed/list_tie50.hpp | 770 ++++++++++++ .../detail/preprocessed/make_deque.hpp | 22 + .../detail/preprocessed/make_deque10.hpp | 180 +++ .../detail/preprocessed/make_deque20.hpp | 330 +++++ .../detail/preprocessed/make_deque30.hpp | 480 ++++++++ .../detail/preprocessed/make_deque40.hpp | 630 ++++++++++ .../detail/preprocessed/make_deque50.hpp | 780 ++++++++++++ .../detail/preprocessed/make_list.hpp | 22 + .../detail/preprocessed/make_list10.hpp | 180 +++ .../detail/preprocessed/make_list20.hpp | 330 +++++ .../detail/preprocessed/make_list30.hpp | 480 ++++++++ .../detail/preprocessed/make_list40.hpp | 630 ++++++++++ .../detail/preprocessed/make_list50.hpp | 780 ++++++++++++ .../detail/preprocessed/make_map.hpp | 22 + .../detail/preprocessed/make_map10.hpp | 241 ++++ .../detail/preprocessed/make_map20.hpp | 451 +++++++ .../detail/preprocessed/make_map30.hpp | 661 ++++++++++ .../detail/preprocessed/make_map40.hpp | 871 +++++++++++++ .../detail/preprocessed/make_map50.hpp | 1081 +++++++++++++++++ .../detail/preprocessed/make_set.hpp | 22 + .../detail/preprocessed/make_set10.hpp | 180 +++ .../detail/preprocessed/make_set20.hpp | 330 +++++ .../detail/preprocessed/make_set30.hpp | 480 ++++++++ .../detail/preprocessed/make_set40.hpp | 630 ++++++++++ .../detail/preprocessed/make_set50.hpp | 780 ++++++++++++ .../detail/preprocessed/make_vector.hpp | 22 + .../detail/preprocessed/make_vector10.hpp | 180 +++ .../detail/preprocessed/make_vector20.hpp | 330 +++++ .../detail/preprocessed/make_vector30.hpp | 480 ++++++++ .../detail/preprocessed/make_vector40.hpp | 630 ++++++++++ .../detail/preprocessed/make_vector50.hpp | 780 ++++++++++++ .../detail/preprocessed/map_tie.hpp | 22 + .../detail/preprocessed/map_tie10.hpp | 241 ++++ .../detail/preprocessed/map_tie20.hpp | 451 +++++++ .../detail/preprocessed/map_tie30.hpp | 661 ++++++++++ .../detail/preprocessed/map_tie40.hpp | 871 +++++++++++++ .../detail/preprocessed/map_tie50.hpp | 1081 +++++++++++++++++ .../detail/preprocessed/vector_tie.hpp | 22 + .../detail/preprocessed/vector_tie10.hpp | 170 +++ .../detail/preprocessed/vector_tie20.hpp | 320 +++++ .../detail/preprocessed/vector_tie30.hpp | 470 +++++++ .../detail/preprocessed/vector_tie40.hpp | 620 ++++++++++ .../detail/preprocessed/vector_tie50.hpp | 770 ++++++++++++ .../fusion/container/generation/list_tie.hpp | 32 +- .../container/generation/make_deque.hpp | 36 +- .../fusion/container/generation/make_list.hpp | 34 +- .../fusion/container/generation/make_map.hpp | 34 +- .../fusion/container/generation/make_set.hpp | 34 +- .../container/generation/make_vector.hpp | 26 + .../fusion/container/generation/map_tie.hpp | 34 +- .../container/generation/vector_tie.hpp | 33 +- .../list/detail/preprocessed/list10_fwd.hpp | 4 + .../list/detail/preprocessed/list20_fwd.hpp | 4 + .../list/detail/preprocessed/list30_fwd.hpp | 4 + .../list/detail/preprocessed/list40_fwd.hpp | 4 + .../list/detail/preprocessed/list50_fwd.hpp | 4 + .../boost/fusion/container/list/list_fwd.hpp | 10 +- include/boost/fusion/container/map/limits.hpp | 4 +- include/boost/fusion/container/set/limits.hpp | 4 +- .../container/vector/detail/as_vector.hpp | 8 +- .../detail/preprocessed/as_vector10.hpp | 3 + .../detail/preprocessed/as_vector20.hpp | 3 + .../detail/preprocessed/as_vector30.hpp | 3 + .../detail/preprocessed/as_vector40.hpp | 3 + .../detail/preprocessed/as_vector50.hpp | 3 + .../vector/detail/preprocessed/vector10.hpp | 3 + .../detail/preprocessed/vector10_fwd.hpp | 3 + .../vector/detail/preprocessed/vector20.hpp | 6 + .../detail/preprocessed/vector20_fwd.hpp | 3 + .../vector/detail/preprocessed/vector30.hpp | 6 + .../detail/preprocessed/vector30_fwd.hpp | 3 + .../vector/detail/preprocessed/vector40.hpp | 6 + .../detail/preprocessed/vector40_fwd.hpp | 3 + .../vector/detail/preprocessed/vector50.hpp | 6 + .../detail/preprocessed/vector50_fwd.hpp | 3 + .../detail/preprocessed/vector_chooser10.hpp | 2 + .../detail/preprocessed/vector_chooser20.hpp | 2 + .../detail/preprocessed/vector_chooser30.hpp | 2 + .../detail/preprocessed/vector_chooser40.hpp | 2 + .../detail/preprocessed/vector_chooser50.hpp | 2 + .../vector/detail/vector_n_chooser.hpp | 4 +- .../fusion/container/vector/vector10.hpp | 8 +- .../fusion/container/vector/vector10_fwd.hpp | 7 +- .../fusion/container/vector/vector20.hpp | 16 +- .../fusion/container/vector/vector20_fwd.hpp | 7 +- .../fusion/container/vector/vector30.hpp | 16 +- .../fusion/container/vector/vector30_fwd.hpp | 7 +- .../fusion/container/vector/vector40.hpp | 16 +- .../fusion/container/vector/vector40_fwd.hpp | 7 +- .../fusion/container/vector/vector50.hpp | 16 +- .../fusion/container/vector/vector50_fwd.hpp | 7 +- .../detail/preprocessed/make_tuple10.hpp | 3 + .../detail/preprocessed/make_tuple20.hpp | 3 + .../detail/preprocessed/make_tuple30.hpp | 3 + .../detail/preprocessed/make_tuple40.hpp | 3 + .../detail/preprocessed/make_tuple50.hpp | 3 + .../tuple/detail/preprocessed/tuple10_fwd.hpp | 4 + .../tuple/detail/preprocessed/tuple20_fwd.hpp | 4 + .../tuple/detail/preprocessed/tuple30_fwd.hpp | 4 + .../tuple/detail/preprocessed/tuple40_fwd.hpp | 4 + .../tuple/detail/preprocessed/tuple50_fwd.hpp | 4 + .../tuple/detail/preprocessed/tuple_tie10.hpp | 3 + .../tuple/detail/preprocessed/tuple_tie20.hpp | 3 + .../tuple/detail/preprocessed/tuple_tie30.hpp | 3 + .../tuple/detail/preprocessed/tuple_tie40.hpp | 3 + .../tuple/detail/preprocessed/tuple_tie50.hpp | 3 + include/boost/fusion/tuple/make_tuple.hpp | 7 +- include/boost/fusion/tuple/tuple_fwd.hpp | 10 +- include/boost/fusion/tuple/tuple_tie.hpp | 8 +- 123 files changed, 23965 insertions(+), 109 deletions(-) create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/list_tie.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_deque.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_list.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_map.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_set.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/map_tie.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/vector_tie.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp create mode 100644 include/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp diff --git a/include/boost/fusion/container/deque/limits.hpp b/include/boost/fusion/container/deque/limits.hpp index 151bdde1..55ff6128 100644 --- a/include/boost/fusion/container/deque/limits.hpp +++ b/include/boost/fusion/container/deque/limits.hpp @@ -2,14 +2,27 @@ Copyright (c) 2005-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(BOOST_FUSION_DEQUE_LIMITS_26112006_1737) #define BOOST_FUSION_DEQUE_LIMITS_26112006_1737 +#include + #if !defined(FUSION_MAX_DEQUE_SIZE) -#define FUSION_MAX_DEQUE_SIZE 10 +# define FUSION_MAX_DEQUE_SIZE FUSION_MAX_VECTOR_SIZE +#else +# if FUSION_MAX_DEQUE_SIZE < 3 +# undef FUSION_MAX_DEQUE_SIZE +# if (FUSION_MAX_VECTOR_SIZE > 10) +# define FUSION_MAX_DEQUE_SIZE 10 +# else +# define FUSION_MAX_DEQUE_SIZE FUSION_MAX_VECTOR_SIZE +# endif +# endif #endif +#define FUSION_MAX_DEQUE_SIZE_STR BOOST_PP_STRINGIZE(BOOST_PHOENIX_PP_ROUND_UP(FUSION_MAX_DEQUE_SIZE)) + #endif diff --git a/include/boost/fusion/container/generation.hpp b/include/boost/fusion/container/generation.hpp index 10640be5..49d45757 100644 --- a/include/boost/fusion/container/generation.hpp +++ b/include/boost/fusion/container/generation.hpp @@ -1,18 +1,21 @@ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_SEQUENCE_GENERATION_10022005_0615) #define FUSION_SEQUENCE_GENERATION_10022005_0615 +#include +#include #include #include #include #include #include #include +#include #include #include #include diff --git a/include/boost/fusion/container/generation/deque_tie.hpp b/include/boost/fusion/container/generation/deque_tie.hpp index 43d6b315..ea0afb92 100644 --- a/include/boost/fusion/container/generation/deque_tie.hpp +++ b/include/boost/fusion/container/generation/deque_tie.hpp @@ -2,7 +2,7 @@ Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -17,10 +17,30 @@ #include #include +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/deque_tie" FUSION_MAX_DEQUE_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + namespace boost { namespace fusion { struct void_; - + namespace result_of { template < @@ -36,11 +56,17 @@ namespace boost { namespace fusion #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) #include BOOST_PP_ITERATE() - + #undef BOOST_FUSION_REF }} +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// diff --git a/include/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp b/include/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp new file mode 100644 index 00000000..7df3c52f --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_DEQUE_SIZE <= 10 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 20 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 30 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 40 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 50 +#include +#else +#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" +#endif diff --git a/include/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp b/include/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp new file mode 100644 index 00000000..0fa5e801 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp @@ -0,0 +1,170 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + , typename Extra = void_ + > + struct deque_tie; + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0) + { + return deque( + _0); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1) + { + return deque( + _0 , _1); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2) + { + return deque( + _0 , _1 , _2); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + { + return deque( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + { + return deque( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp b/include/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp new file mode 100644 index 00000000..5002a289 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp @@ -0,0 +1,320 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + , typename Extra = void_ + > + struct deque_tie; + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0) + { + return deque( + _0); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1) + { + return deque( + _0 , _1); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2) + { + return deque( + _0 , _1 , _2); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + { + return deque( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + { + return deque( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp b/include/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp new file mode 100644 index 00000000..5d59f657 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp @@ -0,0 +1,470 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + , typename Extra = void_ + > + struct deque_tie; + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0) + { + return deque( + _0); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1) + { + return deque( + _0 , _1); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2) + { + return deque( + _0 , _1 , _2); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + { + return deque( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + { + return deque( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp b/include/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp new file mode 100644 index 00000000..7701834a --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp @@ -0,0 +1,620 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + , typename Extra = void_ + > + struct deque_tie; + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0) + { + return deque( + _0); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1) + { + return deque( + _0 , _1); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2) + { + return deque( + _0 , _1 , _2); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + { + return deque( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + { + return deque( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp b/include/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp new file mode 100644 index 00000000..ccc36c89 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp @@ -0,0 +1,770 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + , typename Extra = void_ + > + struct deque_tie; + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0) + { + return deque( + _0); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1) + { + return deque( + _0 , _1); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2) + { + return deque( + _0 , _1 , _2); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + { + return deque( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + { + return deque( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + } + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + template + inline deque + deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48 , T49 & _49) + { + return deque( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/list_tie.hpp b/include/boost/fusion/container/generation/detail/preprocessed/list_tie.hpp new file mode 100644 index 00000000..22d3e45a --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/list_tie.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_LIST_SIZE <= 10 +#include +#elif FUSION_MAX_LIST_SIZE <= 20 +#include +#elif FUSION_MAX_LIST_SIZE <= 30 +#include +#elif FUSION_MAX_LIST_SIZE <= 40 +#include +#elif FUSION_MAX_LIST_SIZE <= 50 +#include +#else +#error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" +#endif diff --git a/include/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp b/include/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp new file mode 100644 index 00000000..c68e7396 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp @@ -0,0 +1,170 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + , typename Extra = void_ + > + struct list_tie; + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0) + { + return list( + _0); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1) + { + return list( + _0 , _1); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2) + { + return list( + _0 , _1 , _2); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + { + return list( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + { + return list( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp b/include/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp new file mode 100644 index 00000000..bef1cbb4 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp @@ -0,0 +1,320 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + , typename Extra = void_ + > + struct list_tie; + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0) + { + return list( + _0); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1) + { + return list( + _0 , _1); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2) + { + return list( + _0 , _1 , _2); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + { + return list( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + { + return list( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp b/include/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp new file mode 100644 index 00000000..d7d72361 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp @@ -0,0 +1,470 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + , typename Extra = void_ + > + struct list_tie; + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0) + { + return list( + _0); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1) + { + return list( + _0 , _1); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2) + { + return list( + _0 , _1 , _2); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + { + return list( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + { + return list( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp b/include/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp new file mode 100644 index 00000000..159e7c3e --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp @@ -0,0 +1,620 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + , typename Extra = void_ + > + struct list_tie; + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0) + { + return list( + _0); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1) + { + return list( + _0 , _1); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2) + { + return list( + _0 , _1 , _2); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + { + return list( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + { + return list( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp b/include/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp new file mode 100644 index 00000000..1890ba6a --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp @@ -0,0 +1,770 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + , typename Extra = void_ + > + struct list_tie; + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0) + { + return list( + _0); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1) + { + return list( + _0 , _1); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2) + { + return list( + _0 , _1 , _2); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + { + return list( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + { + return list( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + } + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + template + inline list + list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48 , T49 & _49) + { + return list( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_deque.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_deque.hpp new file mode 100644 index 00000000..64cd623a --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_deque.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_DEQUE_SIZE <= 10 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 20 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 30 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 40 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 50 +#include +#else +#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" +#endif diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp new file mode 100644 index 00000000..336061aa --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp @@ -0,0 +1,180 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + , typename Extra = void_ + > + struct make_deque; + template <> + struct make_deque<> + { + typedef deque<> type; + }; + } + inline deque<> + make_deque() + { + return deque<>(); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type> type; + }; + } + template + inline deque::type> + make_deque(T0 const& _0) + { + return deque::type>( + _0); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1) + { + return deque::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp new file mode 100644 index 00000000..f2568cda --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp @@ -0,0 +1,330 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + , typename Extra = void_ + > + struct make_deque; + template <> + struct make_deque<> + { + typedef deque<> type; + }; + } + inline deque<> + make_deque() + { + return deque<>(); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type> type; + }; + } + template + inline deque::type> + make_deque(T0 const& _0) + { + return deque::type>( + _0); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1) + { + return deque::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp new file mode 100644 index 00000000..e403f526 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp @@ -0,0 +1,480 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + , typename Extra = void_ + > + struct make_deque; + template <> + struct make_deque<> + { + typedef deque<> type; + }; + } + inline deque<> + make_deque() + { + return deque<>(); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type> type; + }; + } + template + inline deque::type> + make_deque(T0 const& _0) + { + return deque::type>( + _0); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1) + { + return deque::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp new file mode 100644 index 00000000..0033770b --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp @@ -0,0 +1,630 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + , typename Extra = void_ + > + struct make_deque; + template <> + struct make_deque<> + { + typedef deque<> type; + }; + } + inline deque<> + make_deque() + { + return deque<>(); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type> type; + }; + } + template + inline deque::type> + make_deque(T0 const& _0) + { + return deque::type>( + _0); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1) + { + return deque::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp new file mode 100644 index 00000000..4bb5e1bb --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp @@ -0,0 +1,780 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + , typename Extra = void_ + > + struct make_deque; + template <> + struct make_deque<> + { + typedef deque<> type; + }; + } + inline deque<> + make_deque() + { + return deque<>(); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type> type; + }; + } + template + inline deque::type> + make_deque(T0 const& _0) + { + return deque::type>( + _0); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1) + { + return deque::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + } + namespace result_of + { + template + struct make_deque + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48 , T49 const& _49) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_list.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_list.hpp new file mode 100644 index 00000000..9940ffbb --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_list.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_LIST_SIZE <= 10 +#include +#elif FUSION_MAX_LIST_SIZE <= 20 +#include +#elif FUSION_MAX_LIST_SIZE <= 30 +#include +#elif FUSION_MAX_LIST_SIZE <= 40 +#include +#elif FUSION_MAX_LIST_SIZE <= 50 +#include +#else +#error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" +#endif diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp new file mode 100644 index 00000000..f1258070 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp @@ -0,0 +1,180 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + , typename Extra = void_ + > + struct make_list; + template <> + struct make_list<> + { + typedef list<> type; + }; + } + inline list<> + make_list() + { + return list<>(); + } + namespace result_of + { + template + struct make_list + { + typedef list::type> type; + }; + } + template + inline list::type> + make_list(T0 const& _0) + { + return list::type>( + _0); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1) + { + return list::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp new file mode 100644 index 00000000..7abf8843 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp @@ -0,0 +1,330 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + , typename Extra = void_ + > + struct make_list; + template <> + struct make_list<> + { + typedef list<> type; + }; + } + inline list<> + make_list() + { + return list<>(); + } + namespace result_of + { + template + struct make_list + { + typedef list::type> type; + }; + } + template + inline list::type> + make_list(T0 const& _0) + { + return list::type>( + _0); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1) + { + return list::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp new file mode 100644 index 00000000..b751d295 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp @@ -0,0 +1,480 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + , typename Extra = void_ + > + struct make_list; + template <> + struct make_list<> + { + typedef list<> type; + }; + } + inline list<> + make_list() + { + return list<>(); + } + namespace result_of + { + template + struct make_list + { + typedef list::type> type; + }; + } + template + inline list::type> + make_list(T0 const& _0) + { + return list::type>( + _0); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1) + { + return list::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp new file mode 100644 index 00000000..0a737fda --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp @@ -0,0 +1,630 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + , typename Extra = void_ + > + struct make_list; + template <> + struct make_list<> + { + typedef list<> type; + }; + } + inline list<> + make_list() + { + return list<>(); + } + namespace result_of + { + template + struct make_list + { + typedef list::type> type; + }; + } + template + inline list::type> + make_list(T0 const& _0) + { + return list::type>( + _0); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1) + { + return list::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp new file mode 100644 index 00000000..b49a9bfc --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp @@ -0,0 +1,780 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + , typename Extra = void_ + > + struct make_list; + template <> + struct make_list<> + { + typedef list<> type; + }; + } + inline list<> + make_list() + { + return list<>(); + } + namespace result_of + { + template + struct make_list + { + typedef list::type> type; + }; + } + template + inline list::type> + make_list(T0 const& _0) + { + return list::type>( + _0); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1) + { + return list::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + } + namespace result_of + { + template + struct make_list + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48 , T49 const& _49) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_map.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_map.hpp new file mode 100644 index 00000000..d3068b92 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_map.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_MAP_SIZE <= 10 +#include +#elif FUSION_MAX_MAP_SIZE <= 20 +#include +#elif FUSION_MAX_MAP_SIZE <= 30 +#include +#elif FUSION_MAX_MAP_SIZE <= 40 +#include +#elif FUSION_MAX_MAP_SIZE <= 50 +#include +#else +#error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" +#endif diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp new file mode 100644 index 00000000..7032f862 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp @@ -0,0 +1,241 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ + , typename Extra = void_ + > + struct make_map; + template <> + struct make_map<> + { + typedef map<> type; + }; + } + inline map<> + make_map() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct make_map + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + inline map::type> > + make_map(D0 const& _0) + { + return map::type> >( + fusion::make_pair(_0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9)); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp new file mode 100644 index 00000000..59054b1d --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp @@ -0,0 +1,451 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ + , typename Extra = void_ + > + struct make_map; + template <> + struct make_map<> + { + typedef map<> type; + }; + } + inline map<> + make_map() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct make_map + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + inline map::type> > + make_map(D0 const& _0) + { + return map::type> >( + fusion::make_pair(_0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19)); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp new file mode 100644 index 00000000..de495b5f --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp @@ -0,0 +1,661 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ + , typename Extra = void_ + > + struct make_map; + template <> + struct make_map<> + { + typedef map<> type; + }; + } + inline map<> + make_map() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct make_map + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + inline map::type> > + make_map(D0 const& _0) + { + return map::type> >( + fusion::make_pair(_0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29)); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp new file mode 100644 index 00000000..94920d15 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp @@ -0,0 +1,871 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ + , typename Extra = void_ + > + struct make_map; + template <> + struct make_map<> + { + typedef map<> type; + }; + } + inline map<> + make_map() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct make_map + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + inline map::type> > + make_map(D0 const& _0) + { + return map::type> >( + fusion::make_pair(_0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39)); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp new file mode 100644 index 00000000..16dbcf75 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp @@ -0,0 +1,1081 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ , typename K40 = void_ , typename K41 = void_ , typename K42 = void_ , typename K43 = void_ , typename K44 = void_ , typename K45 = void_ , typename K46 = void_ , typename K47 = void_ , typename K48 = void_ , typename K49 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ , typename D40 = void_ , typename D41 = void_ , typename D42 = void_ , typename D43 = void_ , typename D44 = void_ , typename D45 = void_ , typename D46 = void_ , typename D47 = void_ , typename D48 = void_ , typename D49 = void_ + , typename Extra = void_ + > + struct make_map; + template <> + struct make_map<> + { + typedef map<> type; + }; + } + inline map<> + make_map() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct make_map + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + inline map::type> > + make_map(D0 const& _0) + { + return map::type> >( + fusion::make_pair(_0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42 , D43 const& _43) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42) , fusion::make_pair(_43)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42 , D43 const& _43 , D44 const& _44) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42) , fusion::make_pair(_43) , fusion::make_pair(_44)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42 , D43 const& _43 , D44 const& _44 , D45 const& _45) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42) , fusion::make_pair(_43) , fusion::make_pair(_44) , fusion::make_pair(_45)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42 , D43 const& _43 , D44 const& _44 , D45 const& _45 , D46 const& _46) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42) , fusion::make_pair(_43) , fusion::make_pair(_44) , fusion::make_pair(_45) , fusion::make_pair(_46)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42 , D43 const& _43 , D44 const& _44 , D45 const& _45 , D46 const& _46 , D47 const& _47) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42) , fusion::make_pair(_43) , fusion::make_pair(_44) , fusion::make_pair(_45) , fusion::make_pair(_46) , fusion::make_pair(_47)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42 , D43 const& _43 , D44 const& _44 , D45 const& _45 , D46 const& _46 , D47 const& _47 , D48 const& _48) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42) , fusion::make_pair(_43) , fusion::make_pair(_44) , fusion::make_pair(_45) , fusion::make_pair(_46) , fusion::make_pair(_47) , fusion::make_pair(_48)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> , fusion::pair< K49 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 + > + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> , fusion::pair< K49 , typename detail::as_fusion_element::type> > + make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42 , D43 const& _43 , D44 const& _44 , D45 const& _45 , D46 const& _46 , D47 const& _47 , D48 const& _48 , D49 const& _49) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> , fusion::pair< K49 , typename detail::as_fusion_element::type> >( + fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42) , fusion::make_pair(_43) , fusion::make_pair(_44) , fusion::make_pair(_45) , fusion::make_pair(_46) , fusion::make_pair(_47) , fusion::make_pair(_48) , fusion::make_pair(_49)); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_set.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_set.hpp new file mode 100644 index 00000000..1a693713 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_set.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_SET_SIZE <= 10 +#include +#elif FUSION_MAX_SET_SIZE <= 20 +#include +#elif FUSION_MAX_SET_SIZE <= 30 +#include +#elif FUSION_MAX_SET_SIZE <= 40 +#include +#elif FUSION_MAX_SET_SIZE <= 50 +#include +#else +#error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" +#endif diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp new file mode 100644 index 00000000..77c7b7f2 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp @@ -0,0 +1,180 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + , typename Extra = void_ + > + struct make_set; + template <> + struct make_set<> + { + typedef set<> type; + }; + } + inline set<> + make_set() + { + return set<>(); + } + namespace result_of + { + template + struct make_set + { + typedef set::type> type; + }; + } + template + inline set::type> + make_set(T0 const& _0) + { + return set::type>( + _0); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1) + { + return set::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp new file mode 100644 index 00000000..e8c6c8d3 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp @@ -0,0 +1,330 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + , typename Extra = void_ + > + struct make_set; + template <> + struct make_set<> + { + typedef set<> type; + }; + } + inline set<> + make_set() + { + return set<>(); + } + namespace result_of + { + template + struct make_set + { + typedef set::type> type; + }; + } + template + inline set::type> + make_set(T0 const& _0) + { + return set::type>( + _0); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1) + { + return set::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp new file mode 100644 index 00000000..5afcc4e9 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp @@ -0,0 +1,480 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + , typename Extra = void_ + > + struct make_set; + template <> + struct make_set<> + { + typedef set<> type; + }; + } + inline set<> + make_set() + { + return set<>(); + } + namespace result_of + { + template + struct make_set + { + typedef set::type> type; + }; + } + template + inline set::type> + make_set(T0 const& _0) + { + return set::type>( + _0); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1) + { + return set::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp new file mode 100644 index 00000000..1329452b --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp @@ -0,0 +1,630 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + , typename Extra = void_ + > + struct make_set; + template <> + struct make_set<> + { + typedef set<> type; + }; + } + inline set<> + make_set() + { + return set<>(); + } + namespace result_of + { + template + struct make_set + { + typedef set::type> type; + }; + } + template + inline set::type> + make_set(T0 const& _0) + { + return set::type>( + _0); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1) + { + return set::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp new file mode 100644 index 00000000..b5cb4ace --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp @@ -0,0 +1,780 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + , typename Extra = void_ + > + struct make_set; + template <> + struct make_set<> + { + typedef set<> type; + }; + } + inline set<> + make_set() + { + return set<>(); + } + namespace result_of + { + template + struct make_set + { + typedef set::type> type; + }; + } + template + inline set::type> + make_set(T0 const& _0) + { + return set::type>( + _0); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1) + { + return set::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + } + namespace result_of + { + template + struct make_set + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48 , T49 const& _49) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp new file mode 100644 index 00000000..43e3db4d --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_VECTOR_SIZE <= 10 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 20 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 30 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 40 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 50 +#include +#else +#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" +#endif diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp new file mode 100644 index 00000000..51e2665f --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp @@ -0,0 +1,180 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + , typename Extra = void_ + > + struct make_vector; + template <> + struct make_vector<> + { + typedef vector0<> type; + }; + } + inline vector0<> + make_vector() + { + return vector0<>(); + } + namespace result_of + { + template + struct make_vector + { + typedef vector1::type> type; + }; + } + template + inline vector1::type> + make_vector(T0 const& _0) + { + return vector1::type>( + _0); + } + namespace result_of + { + template + struct make_vector + { + typedef vector2::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector2::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1) + { + return vector2::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_vector + { + typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_vector + { + typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_vector + { + typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_vector + { + typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_vector + { + typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_vector + { + typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_vector + { + typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_vector + { + typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp new file mode 100644 index 00000000..745a7f11 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp @@ -0,0 +1,330 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + , typename Extra = void_ + > + struct make_vector; + template <> + struct make_vector<> + { + typedef vector0<> type; + }; + } + inline vector0<> + make_vector() + { + return vector0<>(); + } + namespace result_of + { + template + struct make_vector + { + typedef vector1::type> type; + }; + } + template + inline vector1::type> + make_vector(T0 const& _0) + { + return vector1::type>( + _0); + } + namespace result_of + { + template + struct make_vector + { + typedef vector2::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector2::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1) + { + return vector2::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_vector + { + typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_vector + { + typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_vector + { + typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_vector + { + typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_vector + { + typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_vector + { + typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_vector + { + typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_vector + { + typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_vector + { + typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_vector + { + typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_vector + { + typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_vector + { + typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_vector + { + typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_vector + { + typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_vector + { + typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_vector + { + typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_vector + { + typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_vector + { + typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp new file mode 100644 index 00000000..c663ff19 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp @@ -0,0 +1,480 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + , typename Extra = void_ + > + struct make_vector; + template <> + struct make_vector<> + { + typedef vector0<> type; + }; + } + inline vector0<> + make_vector() + { + return vector0<>(); + } + namespace result_of + { + template + struct make_vector + { + typedef vector1::type> type; + }; + } + template + inline vector1::type> + make_vector(T0 const& _0) + { + return vector1::type>( + _0); + } + namespace result_of + { + template + struct make_vector + { + typedef vector2::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector2::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1) + { + return vector2::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_vector + { + typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_vector + { + typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_vector + { + typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_vector + { + typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_vector + { + typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_vector + { + typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_vector + { + typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_vector + { + typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_vector + { + typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_vector + { + typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_vector + { + typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_vector + { + typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_vector + { + typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_vector + { + typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_vector + { + typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_vector + { + typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_vector + { + typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_vector + { + typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct make_vector + { + typedef vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + { + return vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct make_vector + { + typedef vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + { + return vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct make_vector + { + typedef vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + { + return vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct make_vector + { + typedef vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + { + return vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct make_vector + { + typedef vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + { + return vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct make_vector + { + typedef vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + { + return vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct make_vector + { + typedef vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + { + return vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct make_vector + { + typedef vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + { + return vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct make_vector + { + typedef vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + { + return vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct make_vector + { + typedef vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + { + return vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp new file mode 100644 index 00000000..dc18e461 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp @@ -0,0 +1,630 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + , typename Extra = void_ + > + struct make_vector; + template <> + struct make_vector<> + { + typedef vector0<> type; + }; + } + inline vector0<> + make_vector() + { + return vector0<>(); + } + namespace result_of + { + template + struct make_vector + { + typedef vector1::type> type; + }; + } + template + inline vector1::type> + make_vector(T0 const& _0) + { + return vector1::type>( + _0); + } + namespace result_of + { + template + struct make_vector + { + typedef vector2::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector2::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1) + { + return vector2::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_vector + { + typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_vector + { + typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_vector + { + typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_vector + { + typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_vector + { + typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_vector + { + typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_vector + { + typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_vector + { + typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_vector + { + typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_vector + { + typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_vector + { + typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_vector + { + typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_vector + { + typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_vector + { + typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_vector + { + typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_vector + { + typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_vector + { + typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_vector + { + typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct make_vector + { + typedef vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + { + return vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct make_vector + { + typedef vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + { + return vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct make_vector + { + typedef vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + { + return vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct make_vector + { + typedef vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + { + return vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct make_vector + { + typedef vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + { + return vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct make_vector + { + typedef vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + { + return vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct make_vector + { + typedef vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + { + return vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct make_vector + { + typedef vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + { + return vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct make_vector + { + typedef vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + { + return vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct make_vector + { + typedef vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + { + return vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } + namespace result_of + { + template + struct make_vector + { + typedef vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + { + return vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + } + namespace result_of + { + template + struct make_vector + { + typedef vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + { + return vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + } + namespace result_of + { + template + struct make_vector + { + typedef vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + { + return vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + } + namespace result_of + { + template + struct make_vector + { + typedef vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + { + return vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + } + namespace result_of + { + template + struct make_vector + { + typedef vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + { + return vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + } + namespace result_of + { + template + struct make_vector + { + typedef vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + { + return vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + } + namespace result_of + { + template + struct make_vector + { + typedef vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + { + return vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + } + namespace result_of + { + template + struct make_vector + { + typedef vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + { + return vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + } + namespace result_of + { + template + struct make_vector + { + typedef vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + { + return vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + } + namespace result_of + { + template + struct make_vector + { + typedef vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + { + return vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp b/include/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp new file mode 100644 index 00000000..3210541f --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp @@ -0,0 +1,780 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + , typename Extra = void_ + > + struct make_vector; + template <> + struct make_vector<> + { + typedef vector0<> type; + }; + } + inline vector0<> + make_vector() + { + return vector0<>(); + } + namespace result_of + { + template + struct make_vector + { + typedef vector1::type> type; + }; + } + template + inline vector1::type> + make_vector(T0 const& _0) + { + return vector1::type>( + _0); + } + namespace result_of + { + template + struct make_vector + { + typedef vector2::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector2::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1) + { + return vector2::type , typename detail::as_fusion_element::type>( + _0 , _1); + } + namespace result_of + { + template + struct make_vector + { + typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2) + { + return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2); + } + namespace result_of + { + template + struct make_vector + { + typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + { + return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct make_vector + { + typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + { + return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct make_vector + { + typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + { + return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct make_vector + { + typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + { + return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct make_vector + { + typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + { + return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct make_vector + { + typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + { + return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct make_vector + { + typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + { + return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct make_vector + { + typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + { + return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct make_vector + { + typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + { + return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct make_vector + { + typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + { + return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct make_vector + { + typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + { + return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct make_vector + { + typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + { + return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct make_vector + { + typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + { + return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct make_vector + { + typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + { + return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct make_vector + { + typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + { + return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct make_vector + { + typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + { + return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct make_vector + { + typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + { + return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct make_vector + { + typedef vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + { + return vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct make_vector + { + typedef vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + { + return vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct make_vector + { + typedef vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + { + return vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct make_vector + { + typedef vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + { + return vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct make_vector + { + typedef vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + { + return vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct make_vector + { + typedef vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + { + return vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct make_vector + { + typedef vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + { + return vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct make_vector + { + typedef vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + { + return vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct make_vector + { + typedef vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + { + return vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct make_vector + { + typedef vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + { + return vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } + namespace result_of + { + template + struct make_vector + { + typedef vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + { + return vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + } + namespace result_of + { + template + struct make_vector + { + typedef vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + { + return vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + } + namespace result_of + { + template + struct make_vector + { + typedef vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + { + return vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + } + namespace result_of + { + template + struct make_vector + { + typedef vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + { + return vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + } + namespace result_of + { + template + struct make_vector + { + typedef vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + { + return vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + } + namespace result_of + { + template + struct make_vector + { + typedef vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + { + return vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + } + namespace result_of + { + template + struct make_vector + { + typedef vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + { + return vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + } + namespace result_of + { + template + struct make_vector + { + typedef vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + { + return vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + } + namespace result_of + { + template + struct make_vector + { + typedef vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + { + return vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + } + namespace result_of + { + template + struct make_vector + { + typedef vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + { + return vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + } + namespace result_of + { + template + struct make_vector + { + typedef vector41::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector41::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40) + { + return vector41::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + } + namespace result_of + { + template + struct make_vector + { + typedef vector42::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector42::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41) + { + return vector42::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + } + namespace result_of + { + template + struct make_vector + { + typedef vector43::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector43::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42) + { + return vector43::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + } + namespace result_of + { + template + struct make_vector + { + typedef vector44::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector44::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43) + { + return vector44::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + } + namespace result_of + { + template + struct make_vector + { + typedef vector45::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector45::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44) + { + return vector45::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + } + namespace result_of + { + template + struct make_vector + { + typedef vector46::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector46::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45) + { + return vector46::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + } + namespace result_of + { + template + struct make_vector + { + typedef vector47::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector47::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46) + { + return vector47::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + } + namespace result_of + { + template + struct make_vector + { + typedef vector48::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector48::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47) + { + return vector48::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + } + namespace result_of + { + template + struct make_vector + { + typedef vector49::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector49::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48) + { + return vector49::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + } + namespace result_of + { + template + struct make_vector + { + typedef vector50::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + inline vector50::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48 , T49 const& _49) + { + return vector50::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/map_tie.hpp b/include/boost/fusion/container/generation/detail/preprocessed/map_tie.hpp new file mode 100644 index 00000000..d7480c28 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/map_tie.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_MAP_SIZE <= 10 +#include +#elif FUSION_MAX_MAP_SIZE <= 20 +#include +#elif FUSION_MAX_MAP_SIZE <= 30 +#include +#elif FUSION_MAX_MAP_SIZE <= 40 +#include +#elif FUSION_MAX_MAP_SIZE <= 50 +#include +#else +#error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" +#endif diff --git a/include/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp b/include/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp new file mode 100644 index 00000000..01b17a5a --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp @@ -0,0 +1,241 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ + , typename Extra = void_ + > + struct map_tie; + template <> + struct map_tie<> + { + typedef map<> type; + }; + } + inline map<> + map_tie() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct map_tie + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + inline map::type> > + map_tie(D0 & _0) + { + return map::type> >( + fusion::pair_tie(_0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9)); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp b/include/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp new file mode 100644 index 00000000..b40ba7de --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp @@ -0,0 +1,451 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ + , typename Extra = void_ + > + struct map_tie; + template <> + struct map_tie<> + { + typedef map<> type; + }; + } + inline map<> + map_tie() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct map_tie + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + inline map::type> > + map_tie(D0 & _0) + { + return map::type> >( + fusion::pair_tie(_0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19)); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp b/include/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp new file mode 100644 index 00000000..d7eb6dca --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp @@ -0,0 +1,661 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ + , typename Extra = void_ + > + struct map_tie; + template <> + struct map_tie<> + { + typedef map<> type; + }; + } + inline map<> + map_tie() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct map_tie + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + inline map::type> > + map_tie(D0 & _0) + { + return map::type> >( + fusion::pair_tie(_0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29)); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp b/include/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp new file mode 100644 index 00000000..fdda20a4 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp @@ -0,0 +1,871 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ + , typename Extra = void_ + > + struct map_tie; + template <> + struct map_tie<> + { + typedef map<> type; + }; + } + inline map<> + map_tie() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct map_tie + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + inline map::type> > + map_tie(D0 & _0) + { + return map::type> >( + fusion::pair_tie(_0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39)); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp b/include/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp new file mode 100644 index 00000000..5e26932c --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp @@ -0,0 +1,1081 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ , typename K40 = void_ , typename K41 = void_ , typename K42 = void_ , typename K43 = void_ , typename K44 = void_ , typename K45 = void_ , typename K46 = void_ , typename K47 = void_ , typename K48 = void_ , typename K49 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ , typename D40 = void_ , typename D41 = void_ , typename D42 = void_ , typename D43 = void_ , typename D44 = void_ , typename D45 = void_ , typename D46 = void_ , typename D47 = void_ , typename D48 = void_ , typename D49 = void_ + , typename Extra = void_ + > + struct map_tie; + template <> + struct map_tie<> + { + typedef map<> type; + }; + } + inline map<> + map_tie() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct map_tie + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + inline map::type> > + map_tie(D0 & _0) + { + return map::type> >( + fusion::pair_tie(_0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42 , D43 & _43) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42) , fusion::pair_tie(_43)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42 , D43 & _43 , D44 & _44) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42) , fusion::pair_tie(_43) , fusion::pair_tie(_44)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42 , D43 & _43 , D44 & _44 , D45 & _45) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42) , fusion::pair_tie(_43) , fusion::pair_tie(_44) , fusion::pair_tie(_45)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42 , D43 & _43 , D44 & _44 , D45 & _45 , D46 & _46) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42) , fusion::pair_tie(_43) , fusion::pair_tie(_44) , fusion::pair_tie(_45) , fusion::pair_tie(_46)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42 , D43 & _43 , D44 & _44 , D45 & _45 , D46 & _46 , D47 & _47) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42) , fusion::pair_tie(_43) , fusion::pair_tie(_44) , fusion::pair_tie(_45) , fusion::pair_tie(_46) , fusion::pair_tie(_47)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42 , D43 & _43 , D44 & _44 , D45 & _45 , D46 & _46 , D47 & _47 , D48 & _48) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42) , fusion::pair_tie(_43) , fusion::pair_tie(_44) , fusion::pair_tie(_45) , fusion::pair_tie(_46) , fusion::pair_tie(_47) , fusion::pair_tie(_48)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> , fusion::pair< K49 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 + > + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> , fusion::pair< K49 , typename add_reference::type> > + map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42 , D43 & _43 , D44 & _44 , D45 & _45 , D46 & _46 , D47 & _47 , D48 & _48 , D49 & _49) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> , fusion::pair< K49 , typename add_reference::type> >( + fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42) , fusion::pair_tie(_43) , fusion::pair_tie(_44) , fusion::pair_tie(_45) , fusion::pair_tie(_46) , fusion::pair_tie(_47) , fusion::pair_tie(_48) , fusion::pair_tie(_49)); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/vector_tie.hpp b/include/boost/fusion/container/generation/detail/preprocessed/vector_tie.hpp new file mode 100644 index 00000000..2db73200 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/vector_tie.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_VECTOR_SIZE <= 10 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 20 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 30 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 40 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 50 +#include +#else +#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" +#endif diff --git a/include/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp b/include/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp new file mode 100644 index 00000000..9e463b5a --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp @@ -0,0 +1,170 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + , typename Extra = void_ + > + struct vector_tie; + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0) + { + return vector( + _0); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1) + { + return vector( + _0 , _1); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2) + { + return vector( + _0 , _1 , _2); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + { + return vector( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + { + return vector( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp b/include/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp new file mode 100644 index 00000000..20d6a5b9 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp @@ -0,0 +1,320 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + , typename Extra = void_ + > + struct vector_tie; + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0) + { + return vector( + _0); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1) + { + return vector( + _0 , _1); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2) + { + return vector( + _0 , _1 , _2); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + { + return vector( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + { + return vector( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp b/include/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp new file mode 100644 index 00000000..dbfcd553 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp @@ -0,0 +1,470 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + , typename Extra = void_ + > + struct vector_tie; + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0) + { + return vector( + _0); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1) + { + return vector( + _0 , _1); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2) + { + return vector( + _0 , _1 , _2); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + { + return vector( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + { + return vector( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp b/include/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp new file mode 100644 index 00000000..ff3ec357 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp @@ -0,0 +1,620 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + , typename Extra = void_ + > + struct vector_tie; + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0) + { + return vector( + _0); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1) + { + return vector( + _0 , _1); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2) + { + return vector( + _0 , _1 , _2); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + { + return vector( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + { + return vector( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + } +}} diff --git a/include/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp b/include/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp new file mode 100644 index 00000000..60814c39 --- /dev/null +++ b/include/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp @@ -0,0 +1,770 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + , typename Extra = void_ + > + struct vector_tie; + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0) + { + return vector( + _0); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1) + { + return vector( + _0 , _1); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2) + { + return vector( + _0 , _1 , _2); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + { + return vector( + _0 , _1 , _2 , _3); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + { + return vector( + _0 , _1 , _2 , _3 , _4); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + } + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + template + inline vector + vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48 , T49 & _49) + { + return vector( + _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + } +}} diff --git a/include/boost/fusion/container/generation/list_tie.hpp b/include/boost/fusion/container/generation/list_tie.hpp index e2034756..2a663908 100644 --- a/include/boost/fusion/container/generation/list_tie.hpp +++ b/include/boost/fusion/container/generation/list_tie.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -16,10 +16,30 @@ #include #include +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/list_tie" FUSION_MAX_LIST_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + namespace boost { namespace fusion { struct void_; - + namespace result_of { template < @@ -36,11 +56,17 @@ namespace boost { namespace fusion #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) #include BOOST_PP_ITERATE() - + #undef BOOST_FUSION_REF }} +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// diff --git a/include/boost/fusion/container/generation/make_deque.hpp b/include/boost/fusion/container/generation/make_deque.hpp index 10f11bbc..fdc7dce7 100644 --- a/include/boost/fusion/container/generation/make_deque.hpp +++ b/include/boost/fusion/container/generation/make_deque.hpp @@ -2,13 +2,13 @@ Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -23,10 +23,30 @@ #include #include +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_deque" FUSION_MAX_DEQUE_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + namespace boost { namespace fusion { struct void_; - + namespace result_of { template < @@ -35,14 +55,14 @@ namespace boost { namespace fusion , typename Extra = void_ > struct make_deque; - + template <> struct make_deque<> { typedef deque<> type; }; } - + inline deque<> make_deque() { @@ -60,6 +80,12 @@ namespace boost { namespace fusion }} +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// diff --git a/include/boost/fusion/container/generation/make_list.hpp b/include/boost/fusion/container/generation/make_list.hpp index eaeef3b2..1270839e 100644 --- a/include/boost/fusion/container/generation/make_list.hpp +++ b/include/boost/fusion/container/generation/make_list.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -16,10 +16,30 @@ #include #include +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_list" FUSION_MAX_LIST_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + namespace boost { namespace fusion { struct void_; - + namespace result_of { template < @@ -28,14 +48,14 @@ namespace boost { namespace fusion , typename Extra = void_ > struct make_list; - + template <> struct make_list<> { typedef list<> type; }; } - + inline list<> make_list() { @@ -53,6 +73,12 @@ namespace boost { namespace fusion }} +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// diff --git a/include/boost/fusion/container/generation/make_map.hpp b/include/boost/fusion/container/generation/make_map.hpp index ba63f0de..08938d4c 100644 --- a/include/boost/fusion/container/generation/make_map.hpp +++ b/include/boost/fusion/container/generation/make_map.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -17,10 +17,30 @@ #include #include +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_map" FUSION_MAX_MAP_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + namespace boost { namespace fusion { struct void_; - + namespace result_of { template < @@ -31,14 +51,14 @@ namespace boost { namespace fusion , typename Extra = void_ > struct make_map; - + template <> struct make_map<> { typedef map<> type; }; } - + inline map<> make_map() { @@ -62,6 +82,12 @@ namespace boost { namespace fusion }} +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// diff --git a/include/boost/fusion/container/generation/make_set.hpp b/include/boost/fusion/container/generation/make_set.hpp index 747e891d..229f7d0d 100644 --- a/include/boost/fusion/container/generation/make_set.hpp +++ b/include/boost/fusion/container/generation/make_set.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -17,10 +17,30 @@ #include #include +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_set" FUSION_MAX_SET_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + namespace boost { namespace fusion { struct void_; - + namespace result_of { template < @@ -29,14 +49,14 @@ namespace boost { namespace fusion , typename Extra = void_ > struct make_set; - + template <> struct make_set<> { typedef set<> type; }; } - + inline set<> make_set() { @@ -55,6 +75,12 @@ namespace boost { namespace fusion }} +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// diff --git a/include/boost/fusion/container/generation/make_vector.hpp b/include/boost/fusion/container/generation/make_vector.hpp index 4759d174..a6fd8323 100644 --- a/include/boost/fusion/container/generation/make_vector.hpp +++ b/include/boost/fusion/container/generation/make_vector.hpp @@ -16,6 +16,26 @@ #include #include +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_vector" FUSION_MAX_VECTOR_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + namespace boost { namespace fusion { struct void_; @@ -53,6 +73,12 @@ namespace boost { namespace fusion }} +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// diff --git a/include/boost/fusion/container/generation/map_tie.hpp b/include/boost/fusion/container/generation/map_tie.hpp index 339229e9..26fc2dfa 100644 --- a/include/boost/fusion/container/generation/map_tie.hpp +++ b/include/boost/fusion/container/generation/map_tie.hpp @@ -2,7 +2,7 @@ Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -20,10 +20,30 @@ #include #include +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/map_tie" FUSION_MAX_MAP_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + namespace boost { namespace fusion { struct void_; - + namespace result_of { template < @@ -34,14 +54,14 @@ namespace boost { namespace fusion , typename Extra = void_ > struct map_tie; - + template <> struct map_tie<> { typedef map<> type; }; } - + inline map<> map_tie() { @@ -65,6 +85,12 @@ namespace boost { namespace fusion }} +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// diff --git a/include/boost/fusion/container/generation/vector_tie.hpp b/include/boost/fusion/container/generation/vector_tie.hpp index 99a24ef5..919b4f1e 100644 --- a/include/boost/fusion/container/generation/vector_tie.hpp +++ b/include/boost/fusion/container/generation/vector_tie.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -16,10 +16,30 @@ #include #include +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector_tie" FUSION_MAX_VECTOR_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + namespace boost { namespace fusion { struct void_; - + namespace result_of { template < @@ -35,11 +55,16 @@ namespace boost { namespace fusion #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) #include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_REF +#undef BOOST_FUSION_REF }} +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// diff --git a/include/boost/fusion/container/list/detail/preprocessed/list10_fwd.hpp b/include/boost/fusion/container/list/detail/preprocessed/list10_fwd.hpp index 6babfec7..f513a991 100644 --- a/include/boost/fusion/container/list/detail/preprocessed/list10_fwd.hpp +++ b/include/boost/fusion/container/list/detail/preprocessed/list10_fwd.hpp @@ -6,7 +6,11 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ > struct list; +}} diff --git a/include/boost/fusion/container/list/detail/preprocessed/list20_fwd.hpp b/include/boost/fusion/container/list/detail/preprocessed/list20_fwd.hpp index d1acdaef..2eedc8b2 100644 --- a/include/boost/fusion/container/list/detail/preprocessed/list20_fwd.hpp +++ b/include/boost/fusion/container/list/detail/preprocessed/list20_fwd.hpp @@ -6,7 +6,11 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ > struct list; +}} diff --git a/include/boost/fusion/container/list/detail/preprocessed/list30_fwd.hpp b/include/boost/fusion/container/list/detail/preprocessed/list30_fwd.hpp index 1af145de..32bfc606 100644 --- a/include/boost/fusion/container/list/detail/preprocessed/list30_fwd.hpp +++ b/include/boost/fusion/container/list/detail/preprocessed/list30_fwd.hpp @@ -6,7 +6,11 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ > struct list; +}} diff --git a/include/boost/fusion/container/list/detail/preprocessed/list40_fwd.hpp b/include/boost/fusion/container/list/detail/preprocessed/list40_fwd.hpp index 7d79b8a4..5d0da6df 100644 --- a/include/boost/fusion/container/list/detail/preprocessed/list40_fwd.hpp +++ b/include/boost/fusion/container/list/detail/preprocessed/list40_fwd.hpp @@ -6,7 +6,11 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ > struct list; +}} diff --git a/include/boost/fusion/container/list/detail/preprocessed/list50_fwd.hpp b/include/boost/fusion/container/list/detail/preprocessed/list50_fwd.hpp index 685d3ee3..2b3ae66c 100644 --- a/include/boost/fusion/container/list/detail/preprocessed/list50_fwd.hpp +++ b/include/boost/fusion/container/list/detail/preprocessed/list50_fwd.hpp @@ -6,7 +6,11 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ > struct list; +}} diff --git a/include/boost/fusion/container/list/list_fwd.hpp b/include/boost/fusion/container/list/list_fwd.hpp index cc476fcc..645454b8 100644 --- a/include/boost/fusion/container/list/list_fwd.hpp +++ b/include/boost/fusion/container/list/list_fwd.hpp @@ -10,10 +10,6 @@ #include #include -namespace boost { namespace fusion -{ - struct void_; - #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else @@ -34,11 +30,16 @@ namespace boost { namespace fusion #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion +{ + struct void_; + template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_LIST_SIZE, typename T, void_) > struct list; +}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) @@ -46,6 +47,5 @@ namespace boost { namespace fusion #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES -}} #endif diff --git a/include/boost/fusion/container/map/limits.hpp b/include/boost/fusion/container/map/limits.hpp index 029acc10..85507408 100644 --- a/include/boost/fusion/container/map/limits.hpp +++ b/include/boost/fusion/container/map/limits.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_MAP_LIMITS_07212005_1104) @@ -22,4 +22,6 @@ # endif #endif +#define FUSION_MAX_MAP_SIZE_STR BOOST_PP_STRINGIZE(BOOST_PHOENIX_PP_ROUND_UP(FUSION_MAX_MAP_SIZE)) + #endif diff --git a/include/boost/fusion/container/set/limits.hpp b/include/boost/fusion/container/set/limits.hpp index f1c715c6..be8e4851 100644 --- a/include/boost/fusion/container/set/limits.hpp +++ b/include/boost/fusion/container/set/limits.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_SET_LIMITS_09162005_1103) @@ -22,4 +22,6 @@ # endif #endif +#define FUSION_MAX_SET_SIZE_STR BOOST_PP_STRINGIZE(BOOST_PHOENIX_PP_ROUND_UP(FUSION_MAX_SET_SIZE)) + #endif diff --git a/include/boost/fusion/container/vector/detail/as_vector.hpp b/include/boost/fusion/container/vector/detail/as_vector.hpp index 5edb0867..a311bd63 100644 --- a/include/boost/fusion/container/vector/detail/as_vector.hpp +++ b/include/boost/fusion/container/vector/detail/as_vector.hpp @@ -41,6 +41,7 @@ namespace boost { namespace fusion { namespace detail return vector0<>(); } }; +}}} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include @@ -62,6 +63,9 @@ namespace boost { namespace fusion { namespace detail #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion { namespace detail +{ + #define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ typedef typename fusion::result_of::next::type \ BOOST_PP_CAT(I, BOOST_PP_INC(n)); @@ -82,14 +86,14 @@ namespace boost { namespace fusion { namespace detail #undef BOOST_FUSION_NEXT_CALL_ITERATOR #undef BOOST_FUSION_VALUE_OF_ITERATOR +}}} + #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES -}}} - #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// diff --git a/include/boost/fusion/container/vector/detail/preprocessed/as_vector10.hpp b/include/boost/fusion/container/vector/detail/preprocessed/as_vector10.hpp index 1ba0d793..312a42a1 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/as_vector10.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/as_vector10.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ template <> struct as_vector<1> { @@ -206,3 +208,4 @@ return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; +}}} diff --git a/include/boost/fusion/container/vector/detail/preprocessed/as_vector20.hpp b/include/boost/fusion/container/vector/detail/preprocessed/as_vector20.hpp index 27e91d37..0893bcfd 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/as_vector20.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/as_vector20.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ template <> struct as_vector<1> { @@ -406,3 +408,4 @@ return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; +}}} diff --git a/include/boost/fusion/container/vector/detail/preprocessed/as_vector30.hpp b/include/boost/fusion/container/vector/detail/preprocessed/as_vector30.hpp index b8164ae1..dcea3f4c 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/as_vector30.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/as_vector30.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ template <> struct as_vector<1> { @@ -606,3 +608,4 @@ return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } }; +}}} diff --git a/include/boost/fusion/container/vector/detail/preprocessed/as_vector40.hpp b/include/boost/fusion/container/vector/detail/preprocessed/as_vector40.hpp index 152b33d1..465ae119 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/as_vector40.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/as_vector40.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ template <> struct as_vector<1> { @@ -806,3 +808,4 @@ return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); } }; +}}} diff --git a/include/boost/fusion/container/vector/detail/preprocessed/as_vector50.hpp b/include/boost/fusion/container/vector/detail/preprocessed/as_vector50.hpp index 22b4c4fb..5aa3fbc7 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/as_vector50.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/as_vector50.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ template <> struct as_vector<1> { @@ -1006,3 +1008,4 @@ return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); } }; +}}} diff --git a/include/boost/fusion/container/vector/detail/preprocessed/vector10.hpp b/include/boost/fusion/container/vector/detail/preprocessed/vector10.hpp index 77d2b870..841eae19 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/vector10.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/vector10.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template struct vector_data1 { @@ -858,3 +860,4 @@ return this->at_impl(mpl::int_()); } }; +}} diff --git a/include/boost/fusion/container/vector/detail/preprocessed/vector10_fwd.hpp b/include/boost/fusion/container/vector/detail/preprocessed/vector10_fwd.hpp index 50f264ef..33f817ff 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/vector10_fwd.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/vector10_fwd.hpp @@ -7,6 +7,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template struct vector1; @@ -28,3 +30,4 @@ struct vector9; template struct vector10; +}} diff --git a/include/boost/fusion/container/vector/detail/preprocessed/vector20.hpp b/include/boost/fusion/container/vector/detail/preprocessed/vector20.hpp index 11d4e7ff..94b82e20 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/vector20.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/vector20.hpp @@ -6,6 +6,11 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; template struct vector_data11 { @@ -856,3 +861,4 @@ return this->at_impl(mpl::int_()); } }; +}} diff --git a/include/boost/fusion/container/vector/detail/preprocessed/vector20_fwd.hpp b/include/boost/fusion/container/vector/detail/preprocessed/vector20_fwd.hpp index 2de9e35f..b1672857 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/vector20_fwd.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/vector20_fwd.hpp @@ -7,6 +7,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template struct vector11; @@ -28,3 +30,4 @@ struct vector19; template struct vector20; +}} diff --git a/include/boost/fusion/container/vector/detail/preprocessed/vector30.hpp b/include/boost/fusion/container/vector/detail/preprocessed/vector30.hpp index 16232c93..78ab3737 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/vector30.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/vector30.hpp @@ -6,6 +6,11 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; template struct vector_data21 { @@ -856,3 +861,4 @@ return this->at_impl(mpl::int_()); } }; +}} diff --git a/include/boost/fusion/container/vector/detail/preprocessed/vector30_fwd.hpp b/include/boost/fusion/container/vector/detail/preprocessed/vector30_fwd.hpp index ca3a6a99..39f96aa8 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/vector30_fwd.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/vector30_fwd.hpp @@ -7,6 +7,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template struct vector21; @@ -28,3 +30,4 @@ struct vector29; template struct vector30; +}} diff --git a/include/boost/fusion/container/vector/detail/preprocessed/vector40.hpp b/include/boost/fusion/container/vector/detail/preprocessed/vector40.hpp index 49aecf5d..fb42550b 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/vector40.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/vector40.hpp @@ -6,6 +6,11 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; template struct vector_data31 { @@ -856,3 +861,4 @@ return this->at_impl(mpl::int_()); } }; +}} diff --git a/include/boost/fusion/container/vector/detail/preprocessed/vector40_fwd.hpp b/include/boost/fusion/container/vector/detail/preprocessed/vector40_fwd.hpp index af366d97..e1d6e091 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/vector40_fwd.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/vector40_fwd.hpp @@ -7,6 +7,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template struct vector31; @@ -28,3 +30,4 @@ struct vector39; template struct vector40; +}} diff --git a/include/boost/fusion/container/vector/detail/preprocessed/vector50.hpp b/include/boost/fusion/container/vector/detail/preprocessed/vector50.hpp index d7df7201..82f26096 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/vector50.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/vector50.hpp @@ -6,6 +6,11 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; template struct vector_data41 { @@ -856,3 +861,4 @@ return this->at_impl(mpl::int_()); } }; +}} diff --git a/include/boost/fusion/container/vector/detail/preprocessed/vector50_fwd.hpp b/include/boost/fusion/container/vector/detail/preprocessed/vector50_fwd.hpp index 0cd11765..6829e9b5 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/vector50_fwd.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/vector50_fwd.hpp @@ -7,6 +7,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template struct vector41; @@ -28,3 +30,4 @@ struct vector49; template struct vector50; +}} diff --git a/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser10.hpp b/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser10.hpp index a4950c07..d631b532 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser10.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser10.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ template struct vector_n_chooser { diff --git a/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser20.hpp b/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser20.hpp index 9eaeaed9..9628f483 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser20.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser20.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ template struct vector_n_chooser { diff --git a/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser30.hpp b/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser30.hpp index c92ade34..38edabf4 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser30.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser30.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ template struct vector_n_chooser { diff --git a/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser40.hpp b/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser40.hpp index b9f701a9..a784b757 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser40.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser40.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ template struct vector_n_chooser { diff --git a/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser50.hpp b/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser50.hpp index ed6c4d40..fc9a260e 100644 --- a/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser50.hpp +++ b/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser50.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ template struct vector_n_chooser { diff --git a/include/boost/fusion/container/vector/detail/vector_n_chooser.hpp b/include/boost/fusion/container/vector/detail/vector_n_chooser.hpp index a03d68b1..b0e69afc 100644 --- a/include/boost/fusion/container/vector/detail/vector_n_chooser.hpp +++ b/include/boost/fusion/container/vector/detail/vector_n_chooser.hpp @@ -37,8 +37,6 @@ namespace boost { namespace fusion struct void_; }} -namespace boost { namespace fusion { namespace detail -{ #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else @@ -59,6 +57,8 @@ namespace boost { namespace fusion { namespace detail #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion { namespace detail +{ template struct vector_n_chooser { diff --git a/include/boost/fusion/container/vector/vector10.hpp b/include/boost/fusion/container/vector/vector10.hpp index 2a575362..bcafe599 100644 --- a/include/boost/fusion/container/vector/vector10.hpp +++ b/include/boost/fusion/container/vector/vector10.hpp @@ -56,6 +56,7 @@ namespace boost { namespace fusion vector0(Sequence const& /*seq*/) {} }; +}} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include @@ -77,17 +78,20 @@ namespace boost { namespace fusion #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion +{ + // expand vector1 to vector10 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, 10) #include BOOST_PP_ITERATE() +}} + #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES -}} - #endif diff --git a/include/boost/fusion/container/vector/vector10_fwd.hpp b/include/boost/fusion/container/vector/vector10_fwd.hpp index 5aa0defb..5f8c2188 100644 --- a/include/boost/fusion/container/vector/vector10_fwd.hpp +++ b/include/boost/fusion/container/vector/vector10_fwd.hpp @@ -17,6 +17,7 @@ namespace boost { namespace fusion { template struct vector0; +}} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include @@ -34,15 +35,17 @@ namespace boost { namespace fusion This is an auto-generated file. Do not edit! ==============================================================================*/ - #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion +{ // expand vector1 to vector10 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, 10) #include BOOST_PP_ITERATE() +}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) @@ -50,8 +53,6 @@ namespace boost { namespace fusion #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES -}} - #endif #else diff --git a/include/boost/fusion/container/vector/vector20.hpp b/include/boost/fusion/container/vector/vector20.hpp index 1dd211af..d688a0d2 100644 --- a/include/boost/fusion/container/vector/vector20.hpp +++ b/include/boost/fusion/container/vector/vector20.hpp @@ -35,12 +35,6 @@ #include #include -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else @@ -61,18 +55,24 @@ namespace boost { namespace fusion #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + // expand vector11 to vector20 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (11, 20) #include BOOST_PP_ITERATE() +}} + #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES -}} - #endif diff --git a/include/boost/fusion/container/vector/vector20_fwd.hpp b/include/boost/fusion/container/vector/vector20_fwd.hpp index 20411f7a..4102888f 100644 --- a/include/boost/fusion/container/vector/vector20_fwd.hpp +++ b/include/boost/fusion/container/vector/vector20_fwd.hpp @@ -13,8 +13,6 @@ #include #include -namespace boost { namespace fusion -{ #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else @@ -36,10 +34,13 @@ namespace boost { namespace fusion #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion +{ // expand vector11 to vector20 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (11, 20) #include BOOST_PP_ITERATE() +}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) @@ -47,8 +48,6 @@ namespace boost { namespace fusion #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES -}} - #endif #else diff --git a/include/boost/fusion/container/vector/vector30.hpp b/include/boost/fusion/container/vector/vector30.hpp index fda82054..4080005a 100644 --- a/include/boost/fusion/container/vector/vector30.hpp +++ b/include/boost/fusion/container/vector/vector30.hpp @@ -34,12 +34,6 @@ #include #include -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else @@ -60,18 +54,24 @@ namespace boost { namespace fusion #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + // expand vector21 to vector30 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (21, 30) #include BOOST_PP_ITERATE() +}} + #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES -}} - #endif diff --git a/include/boost/fusion/container/vector/vector30_fwd.hpp b/include/boost/fusion/container/vector/vector30_fwd.hpp index 05e2e160..9b606449 100644 --- a/include/boost/fusion/container/vector/vector30_fwd.hpp +++ b/include/boost/fusion/container/vector/vector30_fwd.hpp @@ -13,8 +13,6 @@ #include #include -namespace boost { namespace fusion -{ #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else @@ -36,10 +34,13 @@ namespace boost { namespace fusion #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion +{ // expand vector21 to vector30 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (21, 30) #include BOOST_PP_ITERATE() +}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) @@ -47,8 +48,6 @@ namespace boost { namespace fusion #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES -}} - #endif #else diff --git a/include/boost/fusion/container/vector/vector40.hpp b/include/boost/fusion/container/vector/vector40.hpp index 1c4c1e27..3350badb 100644 --- a/include/boost/fusion/container/vector/vector40.hpp +++ b/include/boost/fusion/container/vector/vector40.hpp @@ -35,12 +35,6 @@ #include #include -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else @@ -61,18 +55,24 @@ namespace boost { namespace fusion #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + // expand vector31 to vector40 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (31, 40) #include BOOST_PP_ITERATE() +}} + #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES -}} - #endif diff --git a/include/boost/fusion/container/vector/vector40_fwd.hpp b/include/boost/fusion/container/vector/vector40_fwd.hpp index 3d721ec1..05342d1d 100644 --- a/include/boost/fusion/container/vector/vector40_fwd.hpp +++ b/include/boost/fusion/container/vector/vector40_fwd.hpp @@ -13,8 +13,6 @@ #include #include -namespace boost { namespace fusion -{ #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else @@ -36,10 +34,13 @@ namespace boost { namespace fusion #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion +{ // expand vector31 to vector40 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (31, 40) #include BOOST_PP_ITERATE() +}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) @@ -47,8 +48,6 @@ namespace boost { namespace fusion #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES -}} - #endif #else diff --git a/include/boost/fusion/container/vector/vector50.hpp b/include/boost/fusion/container/vector/vector50.hpp index 5caadaee..ec28828e 100644 --- a/include/boost/fusion/container/vector/vector50.hpp +++ b/include/boost/fusion/container/vector/vector50.hpp @@ -34,12 +34,6 @@ #include #include -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else @@ -60,18 +54,24 @@ namespace boost { namespace fusion #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + // expand vector41 to vector50 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (41, 50) #include BOOST_PP_ITERATE() +}} + #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES -}} - #endif diff --git a/include/boost/fusion/container/vector/vector50_fwd.hpp b/include/boost/fusion/container/vector/vector50_fwd.hpp index a94295d3..03b3b2f8 100644 --- a/include/boost/fusion/container/vector/vector50_fwd.hpp +++ b/include/boost/fusion/container/vector/vector50_fwd.hpp @@ -13,8 +13,6 @@ #include #include -namespace boost { namespace fusion -{ #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else @@ -36,10 +34,13 @@ namespace boost { namespace fusion #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion +{ // expand vector41 to vector50 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (41, 50) #include BOOST_PP_ITERATE() +}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) @@ -47,8 +48,6 @@ namespace boost { namespace fusion #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES -}} - #endif #else diff --git a/include/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp b/include/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp index bc484155..679af2f6 100644 --- a/include/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp +++ b/include/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template inline tuple::type> make_tuple(T0 const& _0) @@ -76,3 +78,4 @@ return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); } +}} diff --git a/include/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp b/include/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp index 5061121f..6a3a733c 100644 --- a/include/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp +++ b/include/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template inline tuple::type> make_tuple(T0 const& _0) @@ -146,3 +148,4 @@ return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); } +}} diff --git a/include/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp b/include/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp index 315b3114..358ed809 100644 --- a/include/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp +++ b/include/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template inline tuple::type> make_tuple(T0 const& _0) @@ -216,3 +218,4 @@ return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); } +}} diff --git a/include/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp b/include/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp index 8364e4ff..420c41e4 100644 --- a/include/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp +++ b/include/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template inline tuple::type> make_tuple(T0 const& _0) @@ -286,3 +288,4 @@ return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); } +}} diff --git a/include/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp b/include/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp index 78c415da..f387400f 100644 --- a/include/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp +++ b/include/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template inline tuple::type> make_tuple(T0 const& _0) @@ -356,3 +358,4 @@ return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); } +}} diff --git a/include/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp b/include/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp index 2400b301..7ec31960 100644 --- a/include/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp +++ b/include/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp @@ -6,7 +6,11 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ > struct tuple; +}} diff --git a/include/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp b/include/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp index f8385170..3769f890 100644 --- a/include/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp +++ b/include/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp @@ -6,7 +6,11 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ > struct tuple; +}} diff --git a/include/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp b/include/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp index 6215a207..b9f3e017 100644 --- a/include/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp +++ b/include/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp @@ -6,7 +6,11 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ > struct tuple; +}} diff --git a/include/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp b/include/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp index d20a5546..200bf5db 100644 --- a/include/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp +++ b/include/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp @@ -6,7 +6,11 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ > struct tuple; +}} diff --git a/include/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp b/include/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp index 3e9b16e2..18fd75c4 100644 --- a/include/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp +++ b/include/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp @@ -6,7 +6,11 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ > struct tuple; +}} diff --git a/include/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp b/include/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp index 7c7442b2..be8c5478 100644 --- a/include/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp +++ b/include/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template inline tuple tie(T0 & _0) @@ -76,3 +78,4 @@ return tuple( _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); } +}} diff --git a/include/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp b/include/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp index 091b3dec..f14060ec 100644 --- a/include/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp +++ b/include/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template inline tuple tie(T0 & _0) @@ -146,3 +148,4 @@ return tuple( _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); } +}} diff --git a/include/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp b/include/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp index bc929740..513c7806 100644 --- a/include/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp +++ b/include/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template inline tuple tie(T0 & _0) @@ -216,3 +218,4 @@ return tuple( _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); } +}} diff --git a/include/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp b/include/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp index 2b869daf..be56add6 100644 --- a/include/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp +++ b/include/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template inline tuple tie(T0 & _0) @@ -286,3 +288,4 @@ return tuple( _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); } +}} diff --git a/include/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp b/include/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp index c474d57e..164db797 100644 --- a/include/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp +++ b/include/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp @@ -6,6 +6,8 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ +namespace boost { namespace fusion +{ template inline tuple tie(T0 & _0) @@ -356,3 +358,4 @@ return tuple( _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); } +}} diff --git a/include/boost/fusion/tuple/make_tuple.hpp b/include/boost/fusion/tuple/make_tuple.hpp index f2b93bae..b2defa27 100644 --- a/include/boost/fusion/tuple/make_tuple.hpp +++ b/include/boost/fusion/tuple/make_tuple.hpp @@ -21,6 +21,7 @@ namespace boost { namespace fusion { return tuple<>(); } +}} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include @@ -42,6 +43,8 @@ namespace boost { namespace fusion #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion +{ #define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ typename detail::as_fusion_element::type @@ -51,14 +54,14 @@ namespace boost { namespace fusion #undef BOOST_FUSION_AS_FUSION_ELEMENT +}} + #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES -}} - #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// diff --git a/include/boost/fusion/tuple/tuple_fwd.hpp b/include/boost/fusion/tuple/tuple_fwd.hpp index cf291bdb..e4dbbd28 100644 --- a/include/boost/fusion/tuple/tuple_fwd.hpp +++ b/include/boost/fusion/tuple/tuple_fwd.hpp @@ -10,10 +10,6 @@ #include #include -namespace boost { namespace fusion -{ - struct void_; - #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else @@ -34,17 +30,21 @@ namespace boost { namespace fusion #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion +{ + struct void_; + template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_VECTOR_SIZE, typename T, void_) > struct tuple; +}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES -}} #endif diff --git a/include/boost/fusion/tuple/tuple_tie.hpp b/include/boost/fusion/tuple/tuple_tie.hpp index 1a5f4598..726a5528 100644 --- a/include/boost/fusion/tuple/tuple_tie.hpp +++ b/include/boost/fusion/tuple/tuple_tie.hpp @@ -14,8 +14,6 @@ #include #include -namespace boost { namespace fusion -{ #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else @@ -36,6 +34,8 @@ namespace boost { namespace fusion #pragma wave option(preserve: 1) #endif +namespace boost { namespace fusion +{ #define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& #define BOOST_PP_FILENAME_1 @@ -44,14 +44,14 @@ namespace boost { namespace fusion #undef BOOST_FUSION_REF +}} + #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES -}} - #endif #else // defined(BOOST_PP_IS_ITERATING) ///////////////////////////////////////////////////////////////////////////////