tuple.h.svn-base
来自「很好用的网络封装库,不熟悉网络编程的人也可以使用。使用风格良好的标准c++编写。」· SVN-BASE 代码 · 共 1,770 行 · 第 1/4 页
SVN-BASE
1,770 行
(t7, typename TypeListType<T8,T9,T10,T11,T12,T13,T14,T15,T16>::HeadType
(t8, typename TypeListType<T9,T10,T11,T12,T13,T14,T15,T16>::HeadType
(t9, typename TypeListType<T10,T11,T12,T13,T14,T15,T16>::HeadType
(t10, typename TypeListType<T11,T12,T13,T14,T15,T16>::HeadType
(t11, typename TypeListType<T12,T13,T14,T15,T16>::HeadType
(t12, typename TypeListType<T13,T14,T15,T16>::HeadType
(t13, typename TypeListType<T14,T15,T16>::HeadType
(t14, typename TypeListType<T15,T16>::HeadType
(t15, typename TypeListType<T16>::HeadType
(t16, NullTypeList())))))))))))))))))
{
}
template <int N>
typename TypeGetter<N, Type>::ConstHeadType& get() const
{
return Getter<N>::template get<typename TypeGetter<N, Type>::HeadType, typename Type::HeadType, typename Type::TailType>(_data);
}
template <int N>
typename TypeGetter<N, Type>::HeadType& get()
{
return Getter<N>::template get<typename TypeGetter<N, Type>::HeadType, typename Type::HeadType, typename Type::TailType>(_data);
}
template <int N>
void set(typename TypeGetter<N, Type>::ConstHeadType& val)
{
Getter<N>::template get<typename TypeGetter<N, Type>::HeadType, typename Type::HeadType, typename Type::TailType>(_data) = val;
}
bool operator == (const Tuple& other) const
{
return _data == other._data;
}
bool operator != (const Tuple& other) const
{
return !(_data == other._data);
}
bool operator < (const Tuple& other) const
{
return _data < other._data;
}
private:
Type _data;
};
template <class T0,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14,
class T15>
struct Tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,NullTypeList>
{
typedef typename TypeListType<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>::HeadType Type;
enum TupleLengthType
{
length = Type::length
};
Tuple():_data()
{
}
Tuple(typename TypeWrapper<T0>::CONSTTYPE& t0,
typename TypeWrapper<T1>::CONSTTYPE& t1 = POCO_TYPEWRAPPER_DEFAULTVALUE(T1),
typename TypeWrapper<T2>::CONSTTYPE& t2 = POCO_TYPEWRAPPER_DEFAULTVALUE(T2),
typename TypeWrapper<T3>::CONSTTYPE& t3 = POCO_TYPEWRAPPER_DEFAULTVALUE(T3),
typename TypeWrapper<T4>::CONSTTYPE& t4 = POCO_TYPEWRAPPER_DEFAULTVALUE(T4),
typename TypeWrapper<T5>::CONSTTYPE& t5 = POCO_TYPEWRAPPER_DEFAULTVALUE(T5),
typename TypeWrapper<T6>::CONSTTYPE& t6 = POCO_TYPEWRAPPER_DEFAULTVALUE(T6),
typename TypeWrapper<T7>::CONSTTYPE& t7 = POCO_TYPEWRAPPER_DEFAULTVALUE(T7),
typename TypeWrapper<T8>::CONSTTYPE& t8 = POCO_TYPEWRAPPER_DEFAULTVALUE(T8),
typename TypeWrapper<T9>::CONSTTYPE& t9 = POCO_TYPEWRAPPER_DEFAULTVALUE(T9),
typename TypeWrapper<T10>::CONSTTYPE& t10 = POCO_TYPEWRAPPER_DEFAULTVALUE(T10),
typename TypeWrapper<T11>::CONSTTYPE& t11 = POCO_TYPEWRAPPER_DEFAULTVALUE(T11),
typename TypeWrapper<T12>::CONSTTYPE& t12 = POCO_TYPEWRAPPER_DEFAULTVALUE(T12),
typename TypeWrapper<T13>::CONSTTYPE& t13 = POCO_TYPEWRAPPER_DEFAULTVALUE(T13),
typename TypeWrapper<T14>::CONSTTYPE& t14 = POCO_TYPEWRAPPER_DEFAULTVALUE(T14),
typename TypeWrapper<T15>::CONSTTYPE& t15 = POCO_TYPEWRAPPER_DEFAULTVALUE(T15)):
_data(t0, typename TypeListType<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>::HeadType
(t1, typename TypeListType<T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>::HeadType
(t2, typename TypeListType<T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>::HeadType
(t3, typename TypeListType<T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>::HeadType
(t4, typename TypeListType<T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>::HeadType
(t5, typename TypeListType<T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>::HeadType
(t6, typename TypeListType<T7,T8,T9,T10,T11,T12,T13,T14,T15>::HeadType
(t7, typename TypeListType<T8,T9,T10,T11,T12,T13,T14,T15>::HeadType
(t8, typename TypeListType<T9,T10,T11,T12,T13,T14,T15>::HeadType
(t9, typename TypeListType<T10,T11,T12,T13,T14,T15>::HeadType
(t10, typename TypeListType<T11,T12,T13,T14,T15>::HeadType
(t11, typename TypeListType<T12,T13,T14,T15>::HeadType
(t12, typename TypeListType<T13,T14,T15>::HeadType
(t13, typename TypeListType<T14,T15>::HeadType
(t14, typename TypeListType<T15>::HeadType
(t15, NullTypeList()))))))))))))))))
{
}
template <int N>
typename TypeGetter<N, Type>::ConstHeadType& get() const
{
return Getter<N>::template get<typename TypeGetter<N, Type>::HeadType, typename Type::HeadType, typename Type::TailType>(_data);
}
template <int N>
typename TypeGetter<N, Type>::HeadType& get()
{
return Getter<N>::template get<typename TypeGetter<N, Type>::HeadType, typename Type::HeadType, typename Type::TailType>(_data);
}
template <int N>
void set(typename TypeGetter<N, Type>::ConstHeadType& val)
{
Getter<N>::template get<typename TypeGetter<N, Type>::HeadType, typename Type::HeadType, typename Type::TailType>(_data) = val;
}
bool operator == (const Tuple& other) const
{
return _data == other._data;
}
bool operator != (const Tuple& other) const
{
return !(_data == other._data);
}
bool operator < (const Tuple& other) const
{
return _data < other._data;
}
private:
Type _data;
};
template <class T0,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13,
class T14>
struct Tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,NullTypeList>
{
typedef typename TypeListType<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>::HeadType Type;
enum TupleLengthType
{
length = Type::length
};
Tuple():_data()
{
}
Tuple(typename TypeWrapper<T0>::CONSTTYPE& t0,
typename TypeWrapper<T1>::CONSTTYPE& t1 = POCO_TYPEWRAPPER_DEFAULTVALUE(T1),
typename TypeWrapper<T2>::CONSTTYPE& t2 = POCO_TYPEWRAPPER_DEFAULTVALUE(T2),
typename TypeWrapper<T3>::CONSTTYPE& t3 = POCO_TYPEWRAPPER_DEFAULTVALUE(T3),
typename TypeWrapper<T4>::CONSTTYPE& t4 = POCO_TYPEWRAPPER_DEFAULTVALUE(T4),
typename TypeWrapper<T5>::CONSTTYPE& t5 = POCO_TYPEWRAPPER_DEFAULTVALUE(T5),
typename TypeWrapper<T6>::CONSTTYPE& t6 = POCO_TYPEWRAPPER_DEFAULTVALUE(T6),
typename TypeWrapper<T7>::CONSTTYPE& t7 = POCO_TYPEWRAPPER_DEFAULTVALUE(T7),
typename TypeWrapper<T8>::CONSTTYPE& t8 = POCO_TYPEWRAPPER_DEFAULTVALUE(T8),
typename TypeWrapper<T9>::CONSTTYPE& t9 = POCO_TYPEWRAPPER_DEFAULTVALUE(T9),
typename TypeWrapper<T10>::CONSTTYPE& t10 = POCO_TYPEWRAPPER_DEFAULTVALUE(T10),
typename TypeWrapper<T11>::CONSTTYPE& t11 = POCO_TYPEWRAPPER_DEFAULTVALUE(T11),
typename TypeWrapper<T12>::CONSTTYPE& t12 = POCO_TYPEWRAPPER_DEFAULTVALUE(T12),
typename TypeWrapper<T13>::CONSTTYPE& t13 = POCO_TYPEWRAPPER_DEFAULTVALUE(T13),
typename TypeWrapper<T14>::CONSTTYPE& t14 = POCO_TYPEWRAPPER_DEFAULTVALUE(T14)):
_data(t0, typename TypeListType<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>::HeadType
(t1, typename TypeListType<T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>::HeadType
(t2, typename TypeListType<T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>::HeadType
(t3, typename TypeListType<T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>::HeadType
(t4, typename TypeListType<T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>::HeadType
(t5, typename TypeListType<T6,T7,T8,T9,T10,T11,T12,T13,T14>::HeadType
(t6, typename TypeListType<T7,T8,T9,T10,T11,T12,T13,T14>::HeadType
(t7, typename TypeListType<T8,T9,T10,T11,T12,T13,T14>::HeadType
(t8, typename TypeListType<T9,T10,T11,T12,T13,T14>::HeadType
(t9, typename TypeListType<T10,T11,T12,T13,T14>::HeadType
(t10, typename TypeListType<T11,T12,T13,T14>::HeadType
(t11, typename TypeListType<T12,T13,T14>::HeadType
(t12, typename TypeListType<T13,T14>::HeadType
(t13, typename TypeListType<T14>::HeadType
(t14, NullTypeList())))))))))))))))
{
}
template <int N>
typename TypeGetter<N, Type>::ConstHeadType& get() const
{
return Getter<N>::template get<typename TypeGetter<N, Type>::HeadType, typename Type::HeadType, typename Type::TailType>(_data);
}
template <int N>
typename TypeGetter<N, Type>::HeadType& get()
{
return Getter<N>::template get<typename TypeGetter<N, Type>::HeadType, typename Type::HeadType, typename Type::TailType>(_data);
}
template <int N>
void set(typename TypeGetter<N, Type>::ConstHeadType& val)
{
Getter<N>::template get<typename TypeGetter<N, Type>::HeadType, typename Type::HeadType, typename Type::TailType>(_data) = val;
}
bool operator == (const Tuple& other) const
{
return _data == other._data;
}
bool operator != (const Tuple& other) const
{
return !(_data == other._data);
}
bool operator < (const Tuple& other) const
{
return _data < other._data;
}
private:
Type _data;
};
template <class T0,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12,
class T13>
struct Tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,NullTypeList>
{
typedef typename TypeListType<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>::HeadType Type;
enum TupleLengthType
{
length = Type::length
};
Tuple():_data()
{
}
Tuple(typename TypeWrapper<T0>::CONSTTYPE& t0,
typename TypeWrapper<T1>::CONSTTYPE& t1 = POCO_TYPEWRAPPER_DEFAULTVALUE(T1),
typename TypeWrapper<T2>::CONSTTYPE& t2 = POCO_TYPEWRAPPER_DEFAULTVALUE(T2),
typename TypeWrapper<T3>::CONSTTYPE& t3 = POCO_TYPEWRAPPER_DEFAULTVALUE(T3),
typename TypeWrapper<T4>::CONSTTYPE& t4 = POCO_TYPEWRAPPER_DEFAULTVALUE(T4),
typename TypeWrapper<T5>::CONSTTYPE& t5 = POCO_TYPEWRAPPER_DEFAULTVALUE(T5),
typename TypeWrapper<T6>::CONSTTYPE& t6 = POCO_TYPEWRAPPER_DEFAULTVALUE(T6),
typename TypeWrapper<T7>::CONSTTYPE& t7 = POCO_TYPEWRAPPER_DEFAULTVALUE(T7),
typename TypeWrapper<T8>::CONSTTYPE& t8 = POCO_TYPEWRAPPER_DEFAULTVALUE(T8),
typename TypeWrapper<T9>::CONSTTYPE& t9 = POCO_TYPEWRAPPER_DEFAULTVALUE(T9),
typename TypeWrapper<T10>::CONSTTYPE& t10 = POCO_TYPEWRAPPER_DEFAULTVALUE(T10),
typename TypeWrapper<T11>::CONSTTYPE& t11 = POCO_TYPEWRAPPER_DEFAULTVALUE(T11),
typename TypeWrapper<T12>::CONSTTYPE& t12 = POCO_TYPEWRAPPER_DEFAULTVALUE(T12),
typename TypeWrapper<T13>::CONSTTYPE& t13 = POCO_TYPEWRAPPER_DEFAULTVALUE(T13)):
_data(t0, typename TypeListType<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>::HeadType
(t1, typename TypeListType<T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>::HeadType
(t2, typename TypeListType<T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>::HeadType
(t3, typename TypeListType<T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>::HeadType
(t4, typename TypeListType<T5,T6,T7,T8,T9,T10,T11,T12,T13>::HeadType
(t5, typename TypeListType<T6,T7,T8,T9,T10,T11,T12,T13>::HeadType
(t6, typename TypeListType<T7,T8,T9,T10,T11,T12,T13>::HeadType
(t7, typename TypeListType<T8,T9,T10,T11,T12,T13>::HeadType
(t8, typename TypeListType<T9,T10,T11,T12,T13>::HeadType
(t9, typename TypeListType<T10,T11,T12,T13>::HeadType
(t10, typename TypeListType<T11,T12,T13>::HeadType
(t11, typename TypeListType<T12,T13>::HeadType
(t12, typename TypeListType<T13>::HeadType
(t13, NullTypeList()))))))))))))))
{
}
template <int N>
typename TypeGetter<N, Type>::ConstHeadType& get() const
{
return Getter<N>::template get<typename TypeGetter<N, Type>::HeadType, typename Type::HeadType, typename Type::TailType>(_data);
}
template <int N>
typename TypeGetter<N, Type>::HeadType& get()
{
return Getter<N>::template get<typename TypeGetter<N, Type>::HeadType, typename Type::HeadType, typename Type::TailType>(_data);
}
template <int N>
void set(typename TypeGetter<N, Type>::ConstHeadType& val)
{
Getter<N>::template get<typename TypeGetter<N, Type>::HeadType, typename Type::HeadType, typename Type::TailType>(_data) = val;
}
bool operator == (const Tuple& other) const
{
return _data == other._data;
}
bool operator != (const Tuple& other) const
{
return !(_data == other._data);
}
bool operator < (const Tuple& other) const
{
return _data < other._data;
}
private:
Type _data;
};
template <class T0,
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
class T10,
class T11,
class T12>
struct Tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12, NullTypeList>
{
typedef typename TypeListType<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>::HeadType Type;
enum TupleLengthType
{
length = Type::length
};
Tuple():_data()
{
}
Tuple(typename TypeWrapper<T0>::CONSTTYPE& t0,
typename TypeWrapper<T1>::CONSTTYPE& t1 = POCO_TYPEWRAPPER_DEFAULTVALUE(T1),
typename TypeWrapper<T2>::CONSTTYPE& t2 = POCO_TYPEWRAPPER_DEFAULTVALUE(T2),
typename TypeWrapper<T3>::CONSTTYPE& t3 = POCO_TYPEWRAPPER_DEFAULTVALUE(T3),
typename TypeWrapper<T4>::CONSTTYPE& t4 = POCO_TYPEWRAPPER_DEFAULTVALUE(T4),
typename TypeWrapper<T5>::CONSTTYPE& t5 = POCO_TYPEWRAPPER_DEFAULTVALUE(T5),
typename TypeWrapper<T6>::CONSTTYPE& t6 = POCO_TYPEWRAPPER_DEFAULTVALUE(T6),
typename TypeWrapper<T7>::CONSTTYPE& t7 = POCO_TYPEWRAPPER_DEFAULTVALUE(T7),
typename TypeWrapper<T8>::CONSTTYPE& t8 = POCO_TYPEWRAPPER_DEFAULTVALUE(T8),
typename TypeWrapper<T9>::CONSTTYPE& t9 = POCO_TYPEWRAPPER_DEFAULTVALUE(T9),
typename TypeWrapper<T10>::CONSTTYPE& t10 = POCO_TYPEWRAPPER_DEFAULTVALUE(T10),
typename TypeWrapper<T11>::CONSTTYPE& t11 = POCO_TYPEWRAPPER_DEFAULTVALUE(T11),
typename TypeWrapper<T12>::CONSTTYPE& t12 = POCO_TYPEWRAPPER_DEFAULTVALUE(T12)):
_data(t0, typename TypeListType<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>::HeadType
(t1, typename TypeListType<T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>::HeadType
(t2, typename TypeListType<T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>::HeadType
(t3, typename TypeListType<T4,T5,T6,T7,T8,T9,T10,T11,T12>::HeadType
(t4, typename TypeListType<T5,T6,T7,T8,T9,T10,T11,T12>::HeadType
(t5, typename TypeListType<T6,T7,T8,T9,T10,T11,T12>::HeadType
(t6, typename TypeListType<T7,T8,T9,T10,T11,T12>::HeadType
(t7, typename TypeListType<T8,T9,T10,T11,T12>::HeadType
(t8, typename TypeListType<T9,T10,T11,T12>::HeadType
(t9, typename TypeListType<T10,T11,T12>::HeadType
(t10, typename TypeListType<T11,T12>::HeadType
(t11, typename TypeListType<T12>::HeadType
(t12, NullTypeList())))))))))))))
{
}
template <int N>
typename TypeGetter<N, Type>::ConstHeadType& get() const
{
return Getter<N>::template get<typename TypeGetter<N, Type>::HeadType, typename Type::HeadType, typename Type::TailType>(_data);
}
template <int N>
typename TypeGetter<N, Type>::HeadType& get()
{
return Getter<N>::template get<typename TypeGetter<N, Type>::HeadType, typename Type::HeadType, typename Type::TailType>(_data);
}
template <int N>
void set(typename TypeGetter<N, Type>::ConstHeadType& val)
{
Getter<N>::template get<typename TypeGetter<N, Type>::HeadType, typename Type::HeadType, typename Type::TailType>(_data) = val;
}
bool operator == (const Tuple& other) const
{
return _data == other._data;
}
bool operator != (const Tuple& other) const
{
return !(_data == other._data);
}
bool operator < (const Tuple& other) const
{
return _data < other._data;
}
private:
Type _data;
};
template <class T0,
class T1,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?