From a9b6ca508a2aba9d4dd22f686c8cd323f3696f10 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 22 Sep 2001 11:51:14 +0000 Subject: [PATCH] Borland C++ fixes: typedef dependent types before using them. [SVN r11198] --- include/boost/tuple/detail/tuple_basic.hpp | 47 ++++++++++++---------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/include/boost/tuple/detail/tuple_basic.hpp b/include/boost/tuple/detail/tuple_basic.hpp index b878d7d..5b555b3 100644 --- a/include/boost/tuple/detail/tuple_basic.hpp +++ b/include/boost/tuple/detail/tuple_basic.hpp @@ -23,6 +23,8 @@ // David Abrahams. // Revision history: +// 2001 10 22 John Maddock +// Fixes for Borland C++ // 2001 08 30 David Abrahams // Added default constructor for cons<>. // ----------------------------------------------------------------- @@ -597,51 +599,54 @@ inline tuple<> make_tuple() { template inline typename detail::make_tuple_mapper::type make_tuple(const T0& t0) { - return typename detail::make_tuple_mapper::type(t0); + typedef typename detail::make_tuple_mapper::type t; + return t(t0); } template inline typename detail::make_tuple_mapper::type make_tuple(const T0& t0, const T1& t1) { - return typename detail::make_tuple_mapper::type(t0, t1); + typedef typename detail::make_tuple_mapper::type t; + return t(t0, t1); } template inline typename detail::make_tuple_mapper::type make_tuple(const T0& t0, const T1& t1, const T2& t2) { - return typename detail::make_tuple_mapper::type(t0, t1, t2); + typedef typename detail::make_tuple_mapper::type t; + return t(t0, t1, t2); } template inline typename detail::make_tuple_mapper::type make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3) { - return typename detail::make_tuple_mapper::type - (t0, t1, t2, t3); + typedef typename detail::make_tuple_mapper::type t; + return t(t0, t1, t2, t3); } template inline typename detail::make_tuple_mapper::type make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4) { - return typename detail::make_tuple_mapper::type - (t0, t1, t2, t3, t4); + typedef typename detail::make_tuple_mapper::type t; + return t(t0, t1, t2, t3, t4); } template inline typename detail::make_tuple_mapper::type make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5) { - return typename detail::make_tuple_mapper::type - (t0, t1, t2, t3, t4, t5); + typedef typename detail::make_tuple_mapper::type t; + return t(t0, t1, t2, t3, t4, t5); } template inline typename detail::make_tuple_mapper::type make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6) { - return typename detail::make_tuple_mapper - ::type - (t0, t1, t2, t3, t4, t5, t6); + typedef typename detail::make_tuple_mapper + ::type t; + return t(t0, t1, t2, t3, t4, t5, t6); } template::type 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) { - return typename detail::make_tuple_mapper - ::type - (t0, t1, t2, t3, t4, t5, t6, t7); + typedef typename detail::make_tuple_mapper + ::type t; + return t(t0, t1, t2, t3, t4, t5, t6, t7); } template::type - (t0, t1, t2, t3, t4, t5, t6, t7, t8); + typedef typename detail::make_tuple_mapper + ::type t; + return t(t0, t1, t2, t3, t4, t5, t6, t7, t8); } template::type - (t0, t1, t2, t3, t4, t5, t6, t7, t8, t9); + typedef typename detail::make_tuple_mapper + ::type t; + return t(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9); }