forked from boostorg/tuple
Borland C++ fixes: typedef dependent types before using them.
[SVN r11198]
This commit is contained in:
@ -23,6 +23,8 @@
|
|||||||
// David Abrahams.
|
// David Abrahams.
|
||||||
|
|
||||||
// Revision history:
|
// Revision history:
|
||||||
|
// 2001 10 22 John Maddock
|
||||||
|
// Fixes for Borland C++
|
||||||
// 2001 08 30 David Abrahams
|
// 2001 08 30 David Abrahams
|
||||||
// Added default constructor for cons<>.
|
// Added default constructor for cons<>.
|
||||||
// -----------------------------------------------------------------
|
// -----------------------------------------------------------------
|
||||||
@ -597,51 +599,54 @@ inline tuple<> make_tuple() {
|
|||||||
template<class T0>
|
template<class T0>
|
||||||
inline typename detail::make_tuple_mapper<T0>::type
|
inline typename detail::make_tuple_mapper<T0>::type
|
||||||
make_tuple(const T0& t0) {
|
make_tuple(const T0& t0) {
|
||||||
return typename detail::make_tuple_mapper<T0>::type(t0);
|
typedef typename detail::make_tuple_mapper<T0>::type t;
|
||||||
|
return t(t0);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class T0, class T1>
|
template<class T0, class T1>
|
||||||
inline typename detail::make_tuple_mapper<T0, T1>::type
|
inline typename detail::make_tuple_mapper<T0, T1>::type
|
||||||
make_tuple(const T0& t0, const T1& t1) {
|
make_tuple(const T0& t0, const T1& t1) {
|
||||||
return typename detail::make_tuple_mapper<T0, T1>::type(t0, t1);
|
typedef typename detail::make_tuple_mapper<T0, T1>::type t;
|
||||||
|
return t(t0, t1);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class T0, class T1, class T2>
|
template<class T0, class T1, class T2>
|
||||||
inline typename detail::make_tuple_mapper<T0, T1, T2>::type
|
inline typename detail::make_tuple_mapper<T0, T1, T2>::type
|
||||||
make_tuple(const T0& t0, const T1& t1, const T2& t2) {
|
make_tuple(const T0& t0, const T1& t1, const T2& t2) {
|
||||||
return typename detail::make_tuple_mapper<T0, T1, T2>::type(t0, t1, t2);
|
typedef typename detail::make_tuple_mapper<T0, T1, T2>::type t;
|
||||||
|
return t(t0, t1, t2);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class T0, class T1, class T2, class T3>
|
template<class T0, class T1, class T2, class T3>
|
||||||
inline typename detail::make_tuple_mapper<T0, T1, T2, T3>::type
|
inline typename detail::make_tuple_mapper<T0, T1, T2, T3>::type
|
||||||
make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3) {
|
make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3) {
|
||||||
return typename detail::make_tuple_mapper<T0, T1, T2, T3>::type
|
typedef typename detail::make_tuple_mapper<T0, T1, T2, T3>::type t;
|
||||||
(t0, t1, t2, t3);
|
return t(t0, t1, t2, t3);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class T0, class T1, class T2, class T3, class T4>
|
template<class T0, class T1, class T2, class T3, class T4>
|
||||||
inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4>::type
|
inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4>::type
|
||||||
make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
|
make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
|
||||||
const T4& t4) {
|
const T4& t4) {
|
||||||
return typename detail::make_tuple_mapper<T0, T1, T2, T3, T4>::type
|
typedef typename detail::make_tuple_mapper<T0, T1, T2, T3, T4>::type t;
|
||||||
(t0, t1, t2, t3, t4);
|
return t(t0, t1, t2, t3, t4);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class T0, class T1, class T2, class T3, class T4, class T5>
|
template<class T0, class T1, class T2, class T3, class T4, class T5>
|
||||||
inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5>::type
|
inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5>::type
|
||||||
make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
|
make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
|
||||||
const T4& t4, const T5& t5) {
|
const T4& t4, const T5& t5) {
|
||||||
return typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5>::type
|
typedef typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5>::type t;
|
||||||
(t0, t1, t2, t3, t4, t5);
|
return t(t0, t1, t2, t3, t4, t5);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class T0, class T1, class T2, class T3, class T4, class T5, class T6>
|
template<class T0, class T1, class T2, class T3, class T4, class T5, class T6>
|
||||||
inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5, T6>::type
|
inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5, T6>::type
|
||||||
make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
|
make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
|
||||||
const T4& t4, const T5& t5, const T6& t6) {
|
const T4& t4, const T5& t5, const T6& t6) {
|
||||||
return typename detail::make_tuple_mapper
|
typedef typename detail::make_tuple_mapper
|
||||||
<T0, T1, T2, T3, T4, T5, T6>::type
|
<T0, T1, T2, T3, T4, T5, T6>::type t;
|
||||||
(t0, t1, t2, t3, t4, t5, t6);
|
return t(t0, t1, t2, t3, t4, t5, t6);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
|
template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
|
||||||
@ -649,9 +654,9 @@ template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
|
|||||||
inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5, T6, T7>::type
|
inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5, T6, T7>::type
|
||||||
make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
|
make_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 T4& t4, const T5& t5, const T6& t6, const T7& t7) {
|
||||||
return typename detail::make_tuple_mapper
|
typedef typename detail::make_tuple_mapper
|
||||||
<T0, T1, T2, T3, T4, T5, T6, T7>::type
|
<T0, T1, T2, T3, T4, T5, T6, T7>::type t;
|
||||||
(t0, t1, t2, t3, t4, t5, t6, t7);
|
return t(t0, t1, t2, t3, t4, t5, t6, t7);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
|
template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
|
||||||
@ -661,9 +666,9 @@ inline typename detail::make_tuple_mapper
|
|||||||
make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
|
make_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 T4& t4, const T5& t5, const T6& t6, const T7& t7,
|
||||||
const T8& t8) {
|
const T8& t8) {
|
||||||
return typename detail::make_tuple_mapper
|
typedef typename detail::make_tuple_mapper
|
||||||
<T0, T1, T2, T3, T4, T5, T6, T7, T8>::type
|
<T0, T1, T2, T3, T4, T5, T6, T7, T8>::type t;
|
||||||
(t0, t1, t2, t3, t4, t5, t6, t7, t8);
|
return t(t0, t1, t2, t3, t4, t5, t6, t7, t8);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
|
template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
|
||||||
@ -673,9 +678,9 @@ inline typename detail::make_tuple_mapper
|
|||||||
make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
|
make_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 T4& t4, const T5& t5, const T6& t6, const T7& t7,
|
||||||
const T8& t8, const T9& t9) {
|
const T8& t8, const T9& t9) {
|
||||||
return typename detail::make_tuple_mapper
|
typedef typename detail::make_tuple_mapper
|
||||||
<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type
|
<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type t;
|
||||||
(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9);
|
return t(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user