diff --git a/include/boost/tuple/detail/tuple_basic.hpp b/include/boost/tuple/detail/tuple_basic.hpp index 22478c6..2c7ff9f 100644 --- a/include/boost/tuple/detail/tuple_basic.hpp +++ b/include/boost/tuple/detail/tuple_basic.hpp @@ -84,17 +84,6 @@ template struct length; 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 @@ -204,7 +193,7 @@ template inline typename access_traits< typename element >::type >::non_const_type -get(cons& c BOOST_TUPLE_DUMMY_PARM) { +get(cons& c BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) { return detail::get_class::BOOST_NESTED_TEMPLATE get< typename access_traits< @@ -219,7 +208,7 @@ template inline typename access_traits< typename element >::type >::const_type -get(const cons& c BOOST_TUPLE_DUMMY_PARM) { +get(const cons& c BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) { return detail::get_class::BOOST_NESTED_TEMPLATE get< typename access_traits< @@ -397,7 +386,7 @@ struct cons { typename access_traits< typename element::type >::non_const_type - get(BOOST_TUPLE_SINGLE_DUMMY_PARM) { + get(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) { return boost::tuples::get(*this); } @@ -405,7 +394,7 @@ struct cons { typename access_traits< typename element::type >::const_type - get(BOOST_TUPLE_SINGLE_DUMMY_PARM) const { + get(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) const { return boost::tuples::get(*this); }