/*=============================================================================
    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 {
namespace detail {
template<typename Key, typename Value, typename Rest>
struct keyed_element;
struct nil_keyed_element;
template<typename N, 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 deque_keyed_values_impl;
template<typename N>
struct deque_keyed_values_impl<N, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_>
{
    typedef nil_keyed_element type;
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct()
    {
        return type();
    }
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_()
    {
        return type();
    }
};
template<typename N, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14, typename T15, typename T16, typename T17, typename T18, typename T19, typename T20, typename T21, typename T22, typename T23, typename T24, typename T25, typename T26, typename T27, typename T28, typename T29, typename T30, typename T31, typename T32, typename T33, typename T34, typename T35, typename T36, typename T37, typename T38, typename T39, typename T40, typename T41, typename T42, typename T43, typename T44, typename T45, typename T46, typename T47, typename T48, typename T49>
struct deque_keyed_values_impl
{
    typedef mpl::int_<mpl::plus<N, mpl::int_<1> >::value> next_index;
    typedef typename deque_keyed_values_impl<
    next_index,
    T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45, T46, T47, T48, T49>::type tail;
    typedef keyed_element<N, T0, tail> type;
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    >::construct());
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    >::forward_());
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1
                    >::construct(t1));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1
                    >::forward_(std::forward<T_1>( t1)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2
                    >::construct(t1, t2));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3
                    >::construct(t1, t2, t3));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4
                    >::construct(t1, t2, t3, t4));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5
                    >::construct(t1, t2, t3, t4, t5));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6
                    >::construct(t1, t2, t3, t4, t5, t6));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7
                    >::construct(t1, t2, t3, t4, t5, t6, t7));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34, typename detail::call_param<T35 >::type t35)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34, typename T_35>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34, T_35 && t35)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34, T_35
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34), std::forward<T_35>( t35)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34, typename detail::call_param<T35 >::type t35, typename detail::call_param<T36 >::type t36)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34, typename T_35, typename T_36>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34, T_35 && t35, T_36 && t36)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34, T_35, T_36
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34), std::forward<T_35>( t35), std::forward<T_36>( t36)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34, typename detail::call_param<T35 >::type t35, typename detail::call_param<T36 >::type t36, typename detail::call_param<T37 >::type t37)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34, typename T_35, typename T_36, typename T_37>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34, T_35 && t35, T_36 && t36, T_37 && t37)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34, T_35, T_36, T_37
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34), std::forward<T_35>( t35), std::forward<T_36>( t36), std::forward<T_37>( t37)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34, typename detail::call_param<T35 >::type t35, typename detail::call_param<T36 >::type t36, typename detail::call_param<T37 >::type t37, typename detail::call_param<T38 >::type t38)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34, typename T_35, typename T_36, typename T_37, typename T_38>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34, T_35 && t35, T_36 && t36, T_37 && t37, T_38 && t38)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34, T_35, T_36, T_37, T_38
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34), std::forward<T_35>( t35), std::forward<T_36>( t36), std::forward<T_37>( t37), std::forward<T_38>( t38)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34, typename detail::call_param<T35 >::type t35, typename detail::call_param<T36 >::type t36, typename detail::call_param<T37 >::type t37, typename detail::call_param<T38 >::type t38, typename detail::call_param<T39 >::type t39)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34, typename T_35, typename T_36, typename T_37, typename T_38, typename T_39>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34, T_35 && t35, T_36 && t36, T_37 && t37, T_38 && t38, T_39 && t39)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34, T_35, T_36, T_37, T_38, T_39
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34), std::forward<T_35>( t35), std::forward<T_36>( t36), std::forward<T_37>( t37), std::forward<T_38>( t38), std::forward<T_39>( t39)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34, typename detail::call_param<T35 >::type t35, typename detail::call_param<T36 >::type t36, typename detail::call_param<T37 >::type t37, typename detail::call_param<T38 >::type t38, typename detail::call_param<T39 >::type t39, typename detail::call_param<T40 >::type t40)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34, typename T_35, typename T_36, typename T_37, typename T_38, typename T_39, typename T_40>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34, T_35 && t35, T_36 && t36, T_37 && t37, T_38 && t38, T_39 && t39, T_40 && t40)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34, T_35, T_36, T_37, T_38, T_39, T_40
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34), std::forward<T_35>( t35), std::forward<T_36>( t36), std::forward<T_37>( t37), std::forward<T_38>( t38), std::forward<T_39>( t39), std::forward<T_40>( t40)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34, typename detail::call_param<T35 >::type t35, typename detail::call_param<T36 >::type t36, typename detail::call_param<T37 >::type t37, typename detail::call_param<T38 >::type t38, typename detail::call_param<T39 >::type t39, typename detail::call_param<T40 >::type t40, typename detail::call_param<T41 >::type t41)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34, typename T_35, typename T_36, typename T_37, typename T_38, typename T_39, typename T_40, typename T_41>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34, T_35 && t35, T_36 && t36, T_37 && t37, T_38 && t38, T_39 && t39, T_40 && t40, T_41 && t41)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34, T_35, T_36, T_37, T_38, T_39, T_40, T_41
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34), std::forward<T_35>( t35), std::forward<T_36>( t36), std::forward<T_37>( t37), std::forward<T_38>( t38), std::forward<T_39>( t39), std::forward<T_40>( t40), std::forward<T_41>( t41)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34, typename detail::call_param<T35 >::type t35, typename detail::call_param<T36 >::type t36, typename detail::call_param<T37 >::type t37, typename detail::call_param<T38 >::type t38, typename detail::call_param<T39 >::type t39, typename detail::call_param<T40 >::type t40, typename detail::call_param<T41 >::type t41, typename detail::call_param<T42 >::type t42)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34, typename T_35, typename T_36, typename T_37, typename T_38, typename T_39, typename T_40, typename T_41, typename T_42>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34, T_35 && t35, T_36 && t36, T_37 && t37, T_38 && t38, T_39 && t39, T_40 && t40, T_41 && t41, T_42 && t42)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34, T_35, T_36, T_37, T_38, T_39, T_40, T_41, T_42
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34), std::forward<T_35>( t35), std::forward<T_36>( t36), std::forward<T_37>( t37), std::forward<T_38>( t38), std::forward<T_39>( t39), std::forward<T_40>( t40), std::forward<T_41>( t41), std::forward<T_42>( t42)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34, typename detail::call_param<T35 >::type t35, typename detail::call_param<T36 >::type t36, typename detail::call_param<T37 >::type t37, typename detail::call_param<T38 >::type t38, typename detail::call_param<T39 >::type t39, typename detail::call_param<T40 >::type t40, typename detail::call_param<T41 >::type t41, typename detail::call_param<T42 >::type t42, typename detail::call_param<T43 >::type t43)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34, typename T_35, typename T_36, typename T_37, typename T_38, typename T_39, typename T_40, typename T_41, typename T_42, typename T_43>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34, T_35 && t35, T_36 && t36, T_37 && t37, T_38 && t38, T_39 && t39, T_40 && t40, T_41 && t41, T_42 && t42, T_43 && t43)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34, T_35, T_36, T_37, T_38, T_39, T_40, T_41, T_42, T_43
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34), std::forward<T_35>( t35), std::forward<T_36>( t36), std::forward<T_37>( t37), std::forward<T_38>( t38), std::forward<T_39>( t39), std::forward<T_40>( t40), std::forward<T_41>( t41), std::forward<T_42>( t42), std::forward<T_43>( t43)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34, typename detail::call_param<T35 >::type t35, typename detail::call_param<T36 >::type t36, typename detail::call_param<T37 >::type t37, typename detail::call_param<T38 >::type t38, typename detail::call_param<T39 >::type t39, typename detail::call_param<T40 >::type t40, typename detail::call_param<T41 >::type t41, typename detail::call_param<T42 >::type t42, typename detail::call_param<T43 >::type t43, typename detail::call_param<T44 >::type t44)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34, typename T_35, typename T_36, typename T_37, typename T_38, typename T_39, typename T_40, typename T_41, typename T_42, typename T_43, typename T_44>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34, T_35 && t35, T_36 && t36, T_37 && t37, T_38 && t38, T_39 && t39, T_40 && t40, T_41 && t41, T_42 && t42, T_43 && t43, T_44 && t44)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34, T_35, T_36, T_37, T_38, T_39, T_40, T_41, T_42, T_43, T_44
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34), std::forward<T_35>( t35), std::forward<T_36>( t36), std::forward<T_37>( t37), std::forward<T_38>( t38), std::forward<T_39>( t39), std::forward<T_40>( t40), std::forward<T_41>( t41), std::forward<T_42>( t42), std::forward<T_43>( t43), std::forward<T_44>( t44)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34, typename detail::call_param<T35 >::type t35, typename detail::call_param<T36 >::type t36, typename detail::call_param<T37 >::type t37, typename detail::call_param<T38 >::type t38, typename detail::call_param<T39 >::type t39, typename detail::call_param<T40 >::type t40, typename detail::call_param<T41 >::type t41, typename detail::call_param<T42 >::type t42, typename detail::call_param<T43 >::type t43, typename detail::call_param<T44 >::type t44, typename detail::call_param<T45 >::type t45)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34, typename T_35, typename T_36, typename T_37, typename T_38, typename T_39, typename T_40, typename T_41, typename T_42, typename T_43, typename T_44, typename T_45>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34, T_35 && t35, T_36 && t36, T_37 && t37, T_38 && t38, T_39 && t39, T_40 && t40, T_41 && t41, T_42 && t42, T_43 && t43, T_44 && t44, T_45 && t45)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34, T_35, T_36, T_37, T_38, T_39, T_40, T_41, T_42, T_43, T_44, T_45
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34), std::forward<T_35>( t35), std::forward<T_36>( t36), std::forward<T_37>( t37), std::forward<T_38>( t38), std::forward<T_39>( t39), std::forward<T_40>( t40), std::forward<T_41>( t41), std::forward<T_42>( t42), std::forward<T_43>( t43), std::forward<T_44>( t44), std::forward<T_45>( t45)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34, typename detail::call_param<T35 >::type t35, typename detail::call_param<T36 >::type t36, typename detail::call_param<T37 >::type t37, typename detail::call_param<T38 >::type t38, typename detail::call_param<T39 >::type t39, typename detail::call_param<T40 >::type t40, typename detail::call_param<T41 >::type t41, typename detail::call_param<T42 >::type t42, typename detail::call_param<T43 >::type t43, typename detail::call_param<T44 >::type t44, typename detail::call_param<T45 >::type t45, typename detail::call_param<T46 >::type t46)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45, T46
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34, typename T_35, typename T_36, typename T_37, typename T_38, typename T_39, typename T_40, typename T_41, typename T_42, typename T_43, typename T_44, typename T_45, typename T_46>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34, T_35 && t35, T_36 && t36, T_37 && t37, T_38 && t38, T_39 && t39, T_40 && t40, T_41 && t41, T_42 && t42, T_43 && t43, T_44 && t44, T_45 && t45, T_46 && t46)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34, T_35, T_36, T_37, T_38, T_39, T_40, T_41, T_42, T_43, T_44, T_45, T_46
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34), std::forward<T_35>( t35), std::forward<T_36>( t36), std::forward<T_37>( t37), std::forward<T_38>( t38), std::forward<T_39>( t39), std::forward<T_40>( t40), std::forward<T_41>( t41), std::forward<T_42>( t42), std::forward<T_43>( t43), std::forward<T_44>( t44), std::forward<T_45>( t45), std::forward<T_46>( t46)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34, typename detail::call_param<T35 >::type t35, typename detail::call_param<T36 >::type t36, typename detail::call_param<T37 >::type t37, typename detail::call_param<T38 >::type t38, typename detail::call_param<T39 >::type t39, typename detail::call_param<T40 >::type t40, typename detail::call_param<T41 >::type t41, typename detail::call_param<T42 >::type t42, typename detail::call_param<T43 >::type t43, typename detail::call_param<T44 >::type t44, typename detail::call_param<T45 >::type t45, typename detail::call_param<T46 >::type t46, typename detail::call_param<T47 >::type t47)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45, T46, T47
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34, typename T_35, typename T_36, typename T_37, typename T_38, typename T_39, typename T_40, typename T_41, typename T_42, typename T_43, typename T_44, typename T_45, typename T_46, typename T_47>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34, T_35 && t35, T_36 && t36, T_37 && t37, T_38 && t38, T_39 && t39, T_40 && t40, T_41 && t41, T_42 && t42, T_43 && t43, T_44 && t44, T_45 && t45, T_46 && t46, T_47 && t47)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34, T_35, T_36, T_37, T_38, T_39, T_40, T_41, T_42, T_43, T_44, T_45, T_46, T_47
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34), std::forward<T_35>( t35), std::forward<T_36>( t36), std::forward<T_37>( t37), std::forward<T_38>( t38), std::forward<T_39>( t39), std::forward<T_40>( t40), std::forward<T_41>( t41), std::forward<T_42>( t42), std::forward<T_43>( t43), std::forward<T_44>( t44), std::forward<T_45>( t45), std::forward<T_46>( t46), std::forward<T_47>( t47)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34, typename detail::call_param<T35 >::type t35, typename detail::call_param<T36 >::type t36, typename detail::call_param<T37 >::type t37, typename detail::call_param<T38 >::type t38, typename detail::call_param<T39 >::type t39, typename detail::call_param<T40 >::type t40, typename detail::call_param<T41 >::type t41, typename detail::call_param<T42 >::type t42, typename detail::call_param<T43 >::type t43, typename detail::call_param<T44 >::type t44, typename detail::call_param<T45 >::type t45, typename detail::call_param<T46 >::type t46, typename detail::call_param<T47 >::type t47, typename detail::call_param<T48 >::type t48)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45, T46, T47, T48
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34, typename T_35, typename T_36, typename T_37, typename T_38, typename T_39, typename T_40, typename T_41, typename T_42, typename T_43, typename T_44, typename T_45, typename T_46, typename T_47, typename T_48>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34, T_35 && t35, T_36 && t36, T_37 && t37, T_38 && t38, T_39 && t39, T_40 && t40, T_41 && t41, T_42 && t42, T_43 && t43, T_44 && t44, T_45 && t45, T_46 && t46, T_47 && t47, T_48 && t48)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34, T_35, T_36, T_37, T_38, T_39, T_40, T_41, T_42, T_43, T_44, T_45, T_46, T_47, T_48
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34), std::forward<T_35>( t35), std::forward<T_36>( t36), std::forward<T_37>( t37), std::forward<T_38>( t38), std::forward<T_39>( t39), std::forward<T_40>( t40), std::forward<T_41>( t41), std::forward<T_42>( t42), std::forward<T_43>( t43), std::forward<T_44>( t44), std::forward<T_45>( t45), std::forward<T_46>( t46), std::forward<T_47>( t47), std::forward<T_48>( t48)));
    }
# endif
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    construct(typename detail::call_param<T0 >::type t0, typename detail::call_param<T1 >::type t1, typename detail::call_param<T2 >::type t2, typename detail::call_param<T3 >::type t3, typename detail::call_param<T4 >::type t4, typename detail::call_param<T5 >::type t5, typename detail::call_param<T6 >::type t6, typename detail::call_param<T7 >::type t7, typename detail::call_param<T8 >::type t8, typename detail::call_param<T9 >::type t9, typename detail::call_param<T10 >::type t10, typename detail::call_param<T11 >::type t11, typename detail::call_param<T12 >::type t12, typename detail::call_param<T13 >::type t13, typename detail::call_param<T14 >::type t14, typename detail::call_param<T15 >::type t15, typename detail::call_param<T16 >::type t16, typename detail::call_param<T17 >::type t17, typename detail::call_param<T18 >::type t18, typename detail::call_param<T19 >::type t19, typename detail::call_param<T20 >::type t20, typename detail::call_param<T21 >::type t21, typename detail::call_param<T22 >::type t22, typename detail::call_param<T23 >::type t23, typename detail::call_param<T24 >::type t24, typename detail::call_param<T25 >::type t25, typename detail::call_param<T26 >::type t26, typename detail::call_param<T27 >::type t27, typename detail::call_param<T28 >::type t28, typename detail::call_param<T29 >::type t29, typename detail::call_param<T30 >::type t30, typename detail::call_param<T31 >::type t31, typename detail::call_param<T32 >::type t32, typename detail::call_param<T33 >::type t33, typename detail::call_param<T34 >::type t34, typename detail::call_param<T35 >::type t35, typename detail::call_param<T36 >::type t36, typename detail::call_param<T37 >::type t37, typename detail::call_param<T38 >::type t38, typename detail::call_param<T39 >::type t39, typename detail::call_param<T40 >::type t40, typename detail::call_param<T41 >::type t41, typename detail::call_param<T42 >::type t42, typename detail::call_param<T43 >::type t43, typename detail::call_param<T44 >::type t44, typename detail::call_param<T45 >::type t45, typename detail::call_param<T46 >::type t46, typename detail::call_param<T47 >::type t47, typename detail::call_param<T48 >::type t48, typename detail::call_param<T49 >::type t49)
    {
        return type(t0,
                    deque_keyed_values_impl<
                    next_index
                    , T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45, T46, T47, T48, T49
                    >::construct(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48, t49));
    }
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
    template <typename T_0, typename T_1, typename T_2, typename T_3, typename T_4, typename T_5, typename T_6, typename T_7, typename T_8, typename T_9, typename T_10, typename T_11, typename T_12, typename T_13, typename T_14, typename T_15, typename T_16, typename T_17, typename T_18, typename T_19, typename T_20, typename T_21, typename T_22, typename T_23, typename T_24, typename T_25, typename T_26, typename T_27, typename T_28, typename T_29, typename T_30, typename T_31, typename T_32, typename T_33, typename T_34, typename T_35, typename T_36, typename T_37, typename T_38, typename T_39, typename T_40, typename T_41, typename T_42, typename T_43, typename T_44, typename T_45, typename T_46, typename T_47, typename T_48, typename T_49>
    BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    static type
    forward_(T_0 && t0, T_1 && t1, T_2 && t2, T_3 && t3, T_4 && t4, T_5 && t5, T_6 && t6, T_7 && t7, T_8 && t8, T_9 && t9, T_10 && t10, T_11 && t11, T_12 && t12, T_13 && t13, T_14 && t14, T_15 && t15, T_16 && t16, T_17 && t17, T_18 && t18, T_19 && t19, T_20 && t20, T_21 && t21, T_22 && t22, T_23 && t23, T_24 && t24, T_25 && t25, T_26 && t26, T_27 && t27, T_28 && t28, T_29 && t29, T_30 && t30, T_31 && t31, T_32 && t32, T_33 && t33, T_34 && t34, T_35 && t35, T_36 && t36, T_37 && t37, T_38 && t38, T_39 && t39, T_40 && t40, T_41 && t41, T_42 && t42, T_43 && t43, T_44 && t44, T_45 && t45, T_46 && t46, T_47 && t47, T_48 && t48, T_49 && t49)
    {
        return type(std::forward<T_0>( t0),
                    deque_keyed_values_impl<
                    next_index
                    , T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9, T_10, T_11, T_12, T_13, T_14, T_15, T_16, T_17, T_18, T_19, T_20, T_21, T_22, T_23, T_24, T_25, T_26, T_27, T_28, T_29, T_30, T_31, T_32, T_33, T_34, T_35, T_36, T_37, T_38, T_39, T_40, T_41, T_42, T_43, T_44, T_45, T_46, T_47, T_48, T_49
                    >::forward_(std::forward<T_1>( t1), std::forward<T_2>( t2), std::forward<T_3>( t3), std::forward<T_4>( t4), std::forward<T_5>( t5), std::forward<T_6>( t6), std::forward<T_7>( t7), std::forward<T_8>( t8), std::forward<T_9>( t9), std::forward<T_10>( t10), std::forward<T_11>( t11), std::forward<T_12>( t12), std::forward<T_13>( t13), std::forward<T_14>( t14), std::forward<T_15>( t15), std::forward<T_16>( t16), std::forward<T_17>( t17), std::forward<T_18>( t18), std::forward<T_19>( t19), std::forward<T_20>( t20), std::forward<T_21>( t21), std::forward<T_22>( t22), std::forward<T_23>( t23), std::forward<T_24>( t24), std::forward<T_25>( t25), std::forward<T_26>( t26), std::forward<T_27>( t27), std::forward<T_28>( t28), std::forward<T_29>( t29), std::forward<T_30>( t30), std::forward<T_31>( t31), std::forward<T_32>( t32), std::forward<T_33>( t33), std::forward<T_34>( t34), std::forward<T_35>( t35), std::forward<T_36>( t36), std::forward<T_37>( t37), std::forward<T_38>( t38), std::forward<T_39>( t39), std::forward<T_40>( t40), std::forward<T_41>( t41), std::forward<T_42>( t42), std::forward<T_43>( t43), std::forward<T_44>( t44), std::forward<T_45>( t45), std::forward<T_46>( t46), std::forward<T_47>( t47), std::forward<T_48>( t48), std::forward<T_49>( t49)));
    }
# endif
};
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 deque_keyed_values
    : deque_keyed_values_impl<mpl::int_<0>, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45, T46, T47, T48, T49>
{};
}
}
}
