--- //h/systems/boost/boost/tuple/detail/tuple_basic.hpp Sat Sep 22 11:51:14 2001 +++ //c/dev/lib/boost_1_25_0_old/boost/tuple/detail/tuple_basic.hpp Thu Nov 15 15:20:34 2001 @@ -67,6 +67,17 @@ namespace detail { +#ifdef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS + + template struct workaround_holder {}; + +# define BOOST_TUPLE_DUMMY_PARM , detail::workaround_holder* = 0 +# define BOOST_TUPLE_SINGLE_DUMMY_PARM detail::workaround_holder* = 0 +#else +# define BOOST_TUPLE_DUMMY_PARM +# define BOOST_TUPLE_SINGLE_DUMMY_PARM +#endif + // -- generate error template, referencing to non-existing members of this // template is used to produce compilation errors intentionally template @@ -196,7 +207,7 @@ inline typename access_traits< typename element >::type >::non_const_type -get(cons& c) { +get(cons& c BOOST_TUPLE_DUMMY_PARM) { return detail::get_class::template get< typename access_traits< @@ -211,7 +222,7 @@ inline typename access_traits< typename element >::type >::const_type -get(const cons& c) { +get(const cons& c BOOST_TUPLE_DUMMY_PARM) { return detail::get_class::template get< typename access_traits< @@ -219,9 +230,6 @@ >::const_type>(c); } - - - // -- the cons template -------------------------------------------------- template @@ -346,7 +354,7 @@ typename access_traits< typename element::type >::non_const_type - get() { + get(BOOST_TUPLE_SINGLE_DUMMY_PARM) { return boost::tuples::get(*this); } @@ -354,7 +362,7 @@ typename access_traits< typename element::type >::const_type - get() const { + get(BOOST_TUPLE_SINGLE_DUMMY_PARM) const { return boost::tuples::get(*this); } @@ -753,6 +761,8 @@ } // end of namespace tuples } // end of namespace boost +#undef BOOST_TUPLE_DUMMY_PARM +#undef BOOST_TUPLE_SINGLE_DUMMY_PARM #endif // BOOST_TUPLE_BASIC_HPP