/*============================================================================= 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 { template struct tuple : vector { typedef vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> base_type; tuple() : base_type() {} tuple(tuple const& rhs) : base_type(rhs) {} template tuple(std::pair const& rhs) : base_type(rhs) {} explicit tuple(typename detail::call_param::type _0) : base_type(_0) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1) : base_type(_0 , _1) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) : base_type(_0 , _1 , _2) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) : base_type(_0 , _1 , _2 , _3) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) : base_type(_0 , _1 , _2 , _3 , _4) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) : base_type(_0 , _1 , _2 , _3 , _4 , _5) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} template tuple(tuple const& rhs) : base_type(rhs) {} template tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } template tuple& operator=(T const& rhs) { base_type::operator=(rhs); return *this; } tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } template tuple& operator=(std::pair const& rhs) { base_type::operator=(rhs); return *this; } }; template struct tuple_size : result_of::size {}; template struct tuple_element : result_of::value_at_c {}; template inline typename lazy_disable_if< is_const , result_of::at_c >::type get(Tuple& tup) { return at_c(tup); } template inline typename result_of::at_c::type get(Tuple const& tup) { return at_c(tup); } }}