/*
** DO NOT EDIT THIS FILE !!!
** It was generated automatically by:
**
**   User: jan
**   Host: caesar
**   Date: 2015-03-18 16:20:01
**   Prog: ./mktuple
**
** Purpose:
**   Emulating variadic templates by generating appropriate
**   specializations and overloads.
*/
#ifndef DOXYGEN
template<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 OFtuple_size<OFtuple<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> >
: OFtuple_size<typename OFtuple<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>::content_type> {};
template<size_t Index,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 OFtuple_element<Index,OFtuple<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> >
{
    typedef typename OFtuple_element<Index,typename OFtuple<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>::content_type>::type type;
};
template<std::size_t 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>
typename OFtuple_element<N,OFtuple<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> >::type& OFget( OFtuple<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>& t )
{
    return OFget_tuple_element<typename OFtuple_element<N,OFtuple<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> >::type,N>::from( t );
}
template<std::size_t 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>
const typename OFtuple_element<N,OFtuple<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> >::type& OFget( const OFtuple<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>& t )
{
    return OFget_tuple_element<typename OFtuple_element<N,OFtuple<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> >::type,N>::from( t );
}
template<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>
void OFswap( OFtuple<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>& lhs,
             OFtuple<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>& rhs )
{
    lhs.swap( rhs );
}
template<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,typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45,typename U46,typename U47,typename U48,typename U49>
OFBool operator==( const OFtuple<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>& lhs,
                   const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49>& rhs )
{
    return lhs.equal( rhs.content() );
}
template<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,typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45,typename U46,typename U47,typename U48,typename U49>
OFBool operator!=( const OFtuple<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>& lhs,
                   const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49>& rhs )
{
    return lhs.not_equal( rhs.content() );
}
template<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,typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45,typename U46,typename U47,typename U48,typename U49>
OFBool operator<( const OFtuple<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>& lhs,
                  const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49>& rhs )
{
    return lhs.less( rhs.content() );
}
template<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,typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45,typename U46,typename U47,typename U48,typename U49>
OFBool operator>( const OFtuple<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>& lhs,
                  const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49>& rhs )
{
    return rhs.less( lhs.content() );
}
template<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,typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45,typename U46,typename U47,typename U48,typename U49>
OFBool operator<=( const OFtuple<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>& lhs,
                   const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49>& rhs )
{
    return lhs.less_equal( rhs.content() );
}
template<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,typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45,typename U46,typename U47,typename U48,typename U49>
OFBool operator>=( const OFtuple<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>& lhs,
                   const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49>& rhs )
{
    return rhs.less_equal( lhs.content() );
}
template<typename T0>
class OFtuple<T0>
: public OFtuple_content<T0>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0>
    OFtuple( const OFtuple<U0>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0>
    OFtuple& operator=( const OFtuple<U0>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<typename T0>
OFtuple<typename OFdecay<T0>::type> OFmake_tuple( const T0& t0 )
{
    return OFtuple<typename OFdecay<T0>::type>( t0 );
}
template<typename T0>
OFtuple<T0&> OFtie( T0& t0 )
{
    return OFtuple<T0&>( t0 );
}
template<typename T0,typename T1>
class OFtuple<T0,T1>
: public OFtuple_content<T0,typename OFtuple<T1>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1>
    OFtuple( const OFtuple<U0,U1>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1>
    OFtuple( const OFPair<U0,U1>& p )
    : OFtuple::content_type( p ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1>
    OFtuple& operator=( const OFtuple<U0,U1>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1>
    OFtuple& operator=( const OFPair<U0,U1>& p )
    {
        content().assign( p );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<typename T0,typename T1>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type> OFmake_tuple( const T0& t0, const T1& t1 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type>( t0, t1 );
}
template<typename T0,typename T1>
OFtuple<T0&,T1&> OFtie( T0& t0, T1& t1 )
{
    return OFtuple<T0&,T1&>( t0, t1 );
}
template<typename T0,typename T1,typename T2>
class OFtuple<T0,T1,T2>
: public OFtuple_content<T0,typename OFtuple<T1,T2>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2>
    OFtuple( const OFtuple<U0,U1,U2>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2>
    OFtuple& operator=( const OFtuple<U0,U1,U2>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<typename T0,typename T1,typename T2>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type>( t0, t1, t2 );
}
template<typename T0,typename T1,typename T2>
OFtuple<T0&,T1&,T2&> OFtie( T0& t0, T1& t1, T2& t2 )
{
    return OFtuple<T0&,T1&,T2&>( t0, t1, t2 );
}
template<typename T0,typename T1,typename T2,typename T3>
class OFtuple<T0,T1,T2,T3>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3>
    OFtuple( const OFtuple<U0,U1,U2,U3>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<typename T0,typename T1,typename T2,typename T3>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type>( t0, t1, t2, t3 );
}
template<typename T0,typename T1,typename T2,typename T3>
OFtuple<T0&,T1&,T2&,T3&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3 )
{
    return OFtuple<T0&,T1&,T2&,T3&>( t0, t1, t2, t3 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4>
class OFtuple<T0,T1,T2,T3,T4>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<typename T0,typename T1,typename T2,typename T3,typename T4>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type>( t0, t1, t2, t3, t4 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4>
OFtuple<T0&,T1&,T2&,T3&,T4&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&>( t0, t1, t2, t3, t4 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5>
class OFtuple<T0,T1,T2,T3,T4,T5>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type>( t0, t1, t2, t3, t4, t5 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&>( t0, t1, t2, t3, t4, t5 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6>
class OFtuple<T0,T1,T2,T3,T4,T5,T6>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type>( t0, t1, t2, t3, t4, t5, t6 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&>( t0, t1, t2, t3, t4, t5, t6 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type>( t0, t1, t2, t3, t4, t5, t6, t7 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&>( t0, t1, t2, t3, t4, t5, t6, t7 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&>( t0, t1, t2, t3, t4, t5, t6, t7, t8 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8,typename T9>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8,typename T9>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8,typename T9>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8,typename T9,typename T10>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8,typename T9,typename T10>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8,typename T9,typename T10>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8,typename T9,typename T10,typename T11>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8,typename T9,typename T10,typename T11>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11 );
}
template<typename T0,typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8,typename T9,typename T10,typename T11>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11 );
}
template<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>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12 );
}
template<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>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12 );
}
template<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>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13 );
}
template<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>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13 );
}
template<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>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14 );
}
template<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>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14 );
}
template<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>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15 );
}
template<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>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15 );
}
template<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>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16 );
}
template<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>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16 );
}
template<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>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17 );
}
template<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>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17 );
}
template<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>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18 );
}
template<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>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18 );
}
template<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>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19 );
}
template<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>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&,T19&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&,T19&>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19 );
}
template<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>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20 );
}
template<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>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&,T19&,T20&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&,T19&,T20&>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20 );
}
template<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>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21 );
}
template<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>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&,T19&,T20&,T21&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&,T19&,T20&,T21&>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21 );
}
template<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>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22 );
}
template<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>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&,T19&,T20&,T21&,T22&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&,T19&,T20&,T21&,T22&>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22 );
}
template<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>
class OFtuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23 );
}
template<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>
OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&,T19&,T20&,T21&,T22&,T23&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23 )
{
    return OFtuple<T0&,T1&,T2&,T3&,T4&,T5&,T6&,T7&,T8&,T9&,T10&,T11&,T12&,T13&,T14&,T15&,T16&,T17&,T18&,T19&,T20&,T21&,T22&,T23&>( t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34, typename OFtuple_param<T35>::type t35 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t35, &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34, const T35& t35 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34, T35& t35 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34, typename OFtuple_param<T35>::type t35, typename OFtuple_param<T36>::type t36 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t36, &t35, &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34, const T35& t35, const T36& t36 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34, T35& t35, T36& t36 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34, typename OFtuple_param<T35>::type t35, typename OFtuple_param<T36>::type t36, typename OFtuple_param<T37>::type t37 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t37, &t36, &t35, &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34, const T35& t35, const T36& t36, const T37& t37 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34, T35& t35, T36& t36, T37& t37 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34, typename OFtuple_param<T35>::type t35, typename OFtuple_param<T36>::type t36, typename OFtuple_param<T37>::type t37, typename OFtuple_param<T38>::type t38 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t38, &t37, &t36, &t35, &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34, const T35& t35, const T36& t36, const T37& t37, const T38& t38 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34, T35& t35, T36& t36, T37& t37, T38& t38 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34, typename OFtuple_param<T35>::type t35, typename OFtuple_param<T36>::type t36, typename OFtuple_param<T37>::type t37, typename OFtuple_param<T38>::type t38, typename OFtuple_param<T39>::type t39 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t39, &t38, &t37, &t36, &t35, &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34, const T35& t35, const T36& t36, const T37& t37, const T38& t38, const T39& t39 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34, T35& t35, T36& t36, T37& t37, T38& t38, T39& t39 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34, typename OFtuple_param<T35>::type t35, typename OFtuple_param<T36>::type t36, typename OFtuple_param<T37>::type t37, typename OFtuple_param<T38>::type t38, typename OFtuple_param<T39>::type t39, typename OFtuple_param<T40>::type t40 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t40, &t39, &t38, &t37, &t36, &t35, &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34, const T35& t35, const T36& t36, const T37& t37, const T38& t38, const T39& t39, const T40& t40 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34, T35& t35, T36& t36, T37& t37, T38& t38, T39& t39, T40& t40 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34, typename OFtuple_param<T35>::type t35, typename OFtuple_param<T36>::type t36, typename OFtuple_param<T37>::type t37, typename OFtuple_param<T38>::type t38, typename OFtuple_param<T39>::type t39, typename OFtuple_param<T40>::type t40, typename OFtuple_param<T41>::type t41 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t41, &t40, &t39, &t38, &t37, &t36, &t35, &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34, const T35& t35, const T36& t36, const T37& t37, const T38& t38, const T39& t39, const T40& t40, const T41& t41 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34, T35& t35, T36& t36, T37& t37, T38& t38, T39& t39, T40& t40, T41& t41 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34, typename OFtuple_param<T35>::type t35, typename OFtuple_param<T36>::type t36, typename OFtuple_param<T37>::type t37, typename OFtuple_param<T38>::type t38, typename OFtuple_param<T39>::type t39, typename OFtuple_param<T40>::type t40, typename OFtuple_param<T41>::type t41, typename OFtuple_param<T42>::type t42 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t42, &t41, &t40, &t39, &t38, &t37, &t36, &t35, &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34, const T35& t35, const T36& t36, const T37& t37, const T38& t38, const T39& t39, const T40& t40, const T41& t41, const T42& t42 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34, T35& t35, T36& t36, T37& t37, T38& t38, T39& t39, T40& t40, T41& t41, T42& t42 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34, typename OFtuple_param<T35>::type t35, typename OFtuple_param<T36>::type t36, typename OFtuple_param<T37>::type t37, typename OFtuple_param<T38>::type t38, typename OFtuple_param<T39>::type t39, typename OFtuple_param<T40>::type t40, typename OFtuple_param<T41>::type t41, typename OFtuple_param<T42>::type t42, typename OFtuple_param<T43>::type t43 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t43, &t42, &t41, &t40, &t39, &t38, &t37, &t36, &t35, &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type,typename OFdecay<T43>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34, const T35& t35, const T36& t36, const T37& t37, const T38& t38, const T39& t39, const T40& t40, const T41& t41, const T42& t42, const T43& t43 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type,typename OFdecay<T43>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34, T35& t35, T36& t36, T37& t37, T38& t38, T39& t39, T40& t40, T41& t41, T42& t42, T43& t43 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34, typename OFtuple_param<T35>::type t35, typename OFtuple_param<T36>::type t36, typename OFtuple_param<T37>::type t37, typename OFtuple_param<T38>::type t38, typename OFtuple_param<T39>::type t39, typename OFtuple_param<T40>::type t40, typename OFtuple_param<T41>::type t41, typename OFtuple_param<T42>::type t42, typename OFtuple_param<T43>::type t43, typename OFtuple_param<T44>::type t44 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t44, &t43, &t42, &t41, &t40, &t39, &t38, &t37, &t36, &t35, &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type,typename OFdecay<T43>::type,typename OFdecay<T44>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34, const T35& t35, const T36& t36, const T37& t37, const T38& t38, const T39& t39, const T40& t40, const T41& t41, const T42& t42, const T43& t43, const T44& t44 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type,typename OFdecay<T43>::type,typename OFdecay<T44>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34, T35& t35, T36& t36, T37& t37, T38& t38, T39& t39, T40& t40, T41& t41, T42& t42, T43& t43, T44& t44 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34, typename OFtuple_param<T35>::type t35, typename OFtuple_param<T36>::type t36, typename OFtuple_param<T37>::type t37, typename OFtuple_param<T38>::type t38, typename OFtuple_param<T39>::type t39, typename OFtuple_param<T40>::type t40, typename OFtuple_param<T41>::type t41, typename OFtuple_param<T42>::type t42, typename OFtuple_param<T43>::type t43, typename OFtuple_param<T44>::type t44, typename OFtuple_param<T45>::type t45 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t45, &t44, &t43, &t42, &t41, &t40, &t39, &t38, &t37, &t36, &t35, &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type,typename OFdecay<T43>::type,typename OFdecay<T44>::type,typename OFdecay<T45>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34, const T35& t35, const T36& t36, const T37& t37, const T38& t38, const T39& t39, const T40& t40, const T41& t41, const T42& t42, const T43& t43, const T44& t44, const T45& t45 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type,typename OFdecay<T43>::type,typename OFdecay<T44>::type,typename OFdecay<T45>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34, T35& t35, T36& t36, T37& t37, T38& t38, T39& t39, T40& t40, T41& t41, T42& t42, T43& t43, T44& t44, T45& t45 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45,typename U46>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34, typename OFtuple_param<T35>::type t35, typename OFtuple_param<T36>::type t36, typename OFtuple_param<T37>::type t37, typename OFtuple_param<T38>::type t38, typename OFtuple_param<T39>::type t39, typename OFtuple_param<T40>::type t40, typename OFtuple_param<T41>::type t41, typename OFtuple_param<T42>::type t42, typename OFtuple_param<T43>::type t43, typename OFtuple_param<T44>::type t44, typename OFtuple_param<T45>::type t45, typename OFtuple_param<T46>::type t46 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t46, &t45, &t44, &t43, &t42, &t41, &t40, &t39, &t38, &t37, &t36, &t35, &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45,typename U46>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type,typename OFdecay<T43>::type,typename OFdecay<T44>::type,typename OFdecay<T45>::type,typename OFdecay<T46>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34, const T35& t35, const T36& t36, const T37& t37, const T38& t38, const T39& t39, const T40& t40, const T41& t41, const T42& t42, const T43& t43, const T44& t44, const T45& t45, const T46& t46 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type,typename OFdecay<T43>::type,typename OFdecay<T44>::type,typename OFdecay<T45>::type,typename OFdecay<T46>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34, T35& t35, T36& t36, T37& t37, T38& t38, T39& t39, T40& t40, T41& t41, T42& t42, T43& t43, T44& t44, T45& t45, T46& t46 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45,typename U46,typename U47>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34, typename OFtuple_param<T35>::type t35, typename OFtuple_param<T36>::type t36, typename OFtuple_param<T37>::type t37, typename OFtuple_param<T38>::type t38, typename OFtuple_param<T39>::type t39, typename OFtuple_param<T40>::type t40, typename OFtuple_param<T41>::type t41, typename OFtuple_param<T42>::type t42, typename OFtuple_param<T43>::type t43, typename OFtuple_param<T44>::type t44, typename OFtuple_param<T45>::type t45, typename OFtuple_param<T46>::type t46, typename OFtuple_param<T47>::type t47 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t47, &t46, &t45, &t44, &t43, &t42, &t41, &t40, &t39, &t38, &t37, &t36, &t35, &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45,typename U46,typename U47>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type,typename OFdecay<T43>::type,typename OFdecay<T44>::type,typename OFdecay<T45>::type,typename OFdecay<T46>::type,typename OFdecay<T47>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34, const T35& t35, const T36& t36, const T37& t37, const T38& t38, const T39& t39, const T40& t40, const T41& t41, const T42& t42, const T43& t43, const T44& t44, const T45& t45, const T46& t46, const T47& t47 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type,typename OFdecay<T43>::type,typename OFdecay<T44>::type,typename OFdecay<T45>::type,typename OFdecay<T46>::type,typename OFdecay<T47>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34, T35& t35, T36& t36, T37& t37, T38& t38, T39& t39, T40& t40, T41& t41, T42& t42, T43& t43, T44& t44, T45& t45, T46& t46, T47& t47 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple<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>
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45,typename U46,typename U47,typename U48>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34, typename OFtuple_param<T35>::type t35, typename OFtuple_param<T36>::type t36, typename OFtuple_param<T37>::type t37, typename OFtuple_param<T38>::type t38, typename OFtuple_param<T39>::type t39, typename OFtuple_param<T40>::type t40, typename OFtuple_param<T41>::type t41, typename OFtuple_param<T42>::type t42, typename OFtuple_param<T43>::type t43, typename OFtuple_param<T44>::type t44, typename OFtuple_param<T45>::type t45, typename OFtuple_param<T46>::type t46, typename OFtuple_param<T47>::type t47, typename OFtuple_param<T48>::type t48 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t48, &t47, &t46, &t45, &t44, &t43, &t42, &t41, &t40, &t39, &t38, &t37, &t36, &t35, &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45,typename U46,typename U47,typename U48>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type,typename OFdecay<T43>::type,typename OFdecay<T44>::type,typename OFdecay<T45>::type,typename OFdecay<T46>::type,typename OFdecay<T47>::type,typename OFdecay<T48>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34, const T35& t35, const T36& t36, const T37& t37, const T38& t38, const T39& t39, const T40& t40, const T41& t41, const T42& t42, const T43& t43, const T44& t44, const T45& t45, const T46& t46, const T47& t47, const T48& t48 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type,typename OFdecay<T43>::type,typename OFdecay<T44>::type,typename OFdecay<T45>::type,typename OFdecay<T46>::type,typename OFdecay<T47>::type,typename OFdecay<T48>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34, T35& t35, T36& t36, T37& t37, T38& t38, T39& t39, T40& t40, T41& t41, T42& t42, T43& t43, T44& t44, T45& t45, T46& t46, T47& t47, T48& t48 )
{
    return OFtuple<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&>( 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 );
}
template<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>
class OFtuple
: public OFtuple_content<T0,typename OFtuple<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>::content_type>
{
#include "dcmtk/ofstd/variadic/tuplefrd.h"
    typename OFtuple::content_type& content() { return *this; }
    const typename OFtuple::content_type& content() const { return *this; }
public:
    OFtuple() {}
    OFtuple( const OFtuple& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45,typename U46,typename U47,typename U48,typename U49>
    OFtuple( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49>& rhs )
    : OFtuple::content_type( rhs.content() ) {}
    OFtuple( typename OFtuple_param<T0>::type t0, typename OFtuple_param<T1>::type t1, typename OFtuple_param<T2>::type t2, typename OFtuple_param<T3>::type t3, typename OFtuple_param<T4>::type t4, typename OFtuple_param<T5>::type t5, typename OFtuple_param<T6>::type t6, typename OFtuple_param<T7>::type t7, typename OFtuple_param<T8>::type t8, typename OFtuple_param<T9>::type t9, typename OFtuple_param<T10>::type t10, typename OFtuple_param<T11>::type t11, typename OFtuple_param<T12>::type t12, typename OFtuple_param<T13>::type t13, typename OFtuple_param<T14>::type t14, typename OFtuple_param<T15>::type t15, typename OFtuple_param<T16>::type t16, typename OFtuple_param<T17>::type t17, typename OFtuple_param<T18>::type t18, typename OFtuple_param<T19>::type t19, typename OFtuple_param<T20>::type t20, typename OFtuple_param<T21>::type t21, typename OFtuple_param<T22>::type t22, typename OFtuple_param<T23>::type t23, typename OFtuple_param<T24>::type t24, typename OFtuple_param<T25>::type t25, typename OFtuple_param<T26>::type t26, typename OFtuple_param<T27>::type t27, typename OFtuple_param<T28>::type t28, typename OFtuple_param<T29>::type t29, typename OFtuple_param<T30>::type t30, typename OFtuple_param<T31>::type t31, typename OFtuple_param<T32>::type t32, typename OFtuple_param<T33>::type t33, typename OFtuple_param<T34>::type t34, typename OFtuple_param<T35>::type t35, typename OFtuple_param<T36>::type t36, typename OFtuple_param<T37>::type t37, typename OFtuple_param<T38>::type t38, typename OFtuple_param<T39>::type t39, typename OFtuple_param<T40>::type t40, typename OFtuple_param<T41>::type t41, typename OFtuple_param<T42>::type t42, typename OFtuple_param<T43>::type t43, typename OFtuple_param<T44>::type t44, typename OFtuple_param<T45>::type t45, typename OFtuple_param<T46>::type t46, typename OFtuple_param<T47>::type t47, typename OFtuple_param<T48>::type t48, typename OFtuple_param<T49>::type t49 )
    : OFtuple::content_type( typename OFtuple::va_args(), &t49, &t48, &t47, &t46, &t45, &t44, &t43, &t42, &t41, &t40, &t39, &t38, &t37, &t36, &t35, &t34, &t33, &t32, &t31, &t30, &t29, &t28, &t27, &t26, &t25, &t24, &t23, &t22, &t21, &t20, &t19, &t18, &t17, &t16, &t15, &t14, &t13, &t12, &t11, &t10, &t9, &t8, &t7, &t6, &t5, &t4, &t3, &t2, &t1, &t0 ) {}
    OFtuple& operator=( const OFtuple& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    template<typename U0,typename U1,typename U2,typename U3,typename U4,typename U5,typename U6,typename U7,typename U8,typename U9,typename U10,typename U11,typename U12,typename U13,typename U14,typename U15,typename U16,typename U17,typename U18,typename U19,typename U20,typename U21,typename U22,typename U23,typename U24,typename U25,typename U26,typename U27,typename U28,typename U29,typename U30,typename U31,typename U32,typename U33,typename U34,typename U35,typename U36,typename U37,typename U38,typename U39,typename U40,typename U41,typename U42,typename U43,typename U44,typename U45,typename U46,typename U47,typename U48,typename U49>
    OFtuple& operator=( const OFtuple<U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49>& rhs )
    {
        content().assign( rhs.content() );
        return *this;
    }
    void swap( OFtuple& rhs ) { content().swap_content( rhs.content() ); }
};
template<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>
OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type,typename OFdecay<T43>::type,typename OFdecay<T44>::type,typename OFdecay<T45>::type,typename OFdecay<T46>::type,typename OFdecay<T47>::type,typename OFdecay<T48>::type,typename OFdecay<T49>::type> OFmake_tuple( const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20, const T21& t21, const T22& t22, const T23& t23, const T24& t24, const T25& t25, const T26& t26, const T27& t27, const T28& t28, const T29& t29, const T30& t30, const T31& t31, const T32& t32, const T33& t33, const T34& t34, const T35& t35, const T36& t36, const T37& t37, const T38& t38, const T39& t39, const T40& t40, const T41& t41, const T42& t42, const T43& t43, const T44& t44, const T45& t45, const T46& t46, const T47& t47, const T48& t48, const T49& t49 )
{
    return OFtuple<typename OFdecay<T0>::type,typename OFdecay<T1>::type,typename OFdecay<T2>::type,typename OFdecay<T3>::type,typename OFdecay<T4>::type,typename OFdecay<T5>::type,typename OFdecay<T6>::type,typename OFdecay<T7>::type,typename OFdecay<T8>::type,typename OFdecay<T9>::type,typename OFdecay<T10>::type,typename OFdecay<T11>::type,typename OFdecay<T12>::type,typename OFdecay<T13>::type,typename OFdecay<T14>::type,typename OFdecay<T15>::type,typename OFdecay<T16>::type,typename OFdecay<T17>::type,typename OFdecay<T18>::type,typename OFdecay<T19>::type,typename OFdecay<T20>::type,typename OFdecay<T21>::type,typename OFdecay<T22>::type,typename OFdecay<T23>::type,typename OFdecay<T24>::type,typename OFdecay<T25>::type,typename OFdecay<T26>::type,typename OFdecay<T27>::type,typename OFdecay<T28>::type,typename OFdecay<T29>::type,typename OFdecay<T30>::type,typename OFdecay<T31>::type,typename OFdecay<T32>::type,typename OFdecay<T33>::type,typename OFdecay<T34>::type,typename OFdecay<T35>::type,typename OFdecay<T36>::type,typename OFdecay<T37>::type,typename OFdecay<T38>::type,typename OFdecay<T39>::type,typename OFdecay<T40>::type,typename OFdecay<T41>::type,typename OFdecay<T42>::type,typename OFdecay<T43>::type,typename OFdecay<T44>::type,typename OFdecay<T45>::type,typename OFdecay<T46>::type,typename OFdecay<T47>::type,typename OFdecay<T48>::type,typename OFdecay<T49>::type>( 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 );
}
template<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>
OFtuple<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&> OFtie( T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12, T13& t13, T14& t14, T15& t15, T16& t16, T17& t17, T18& t18, T19& t19, T20& t20, T21& t21, T22& t22, T23& t23, T24& t24, T25& t25, T26& t26, T27& t27, T28& t28, T29& t29, T30& t30, T31& t31, T32& t32, T33& t33, T34& t34, T35& t35, T36& t36, T37& t37, T38& t38, T39& t39, T40& t40, T41& t41, T42& t42, T43& t43, T44& t44, T45& t45, T46& t46, T47& t47, T48& t48, T49& t49 )
{
    return OFtuple<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&>( 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 );
}
#endif // DOXYGEN
