diff --git a/include/boost/tuple/detail/tuple_basic.hpp b/include/boost/tuple/detail/tuple_basic.hpp index 0263f96..f404919 100644 --- a/include/boost/tuple/detail/tuple_basic.hpp +++ b/include/boost/tuple/detail/tuple_basic.hpp @@ -108,12 +108,12 @@ struct get_class { template inline static RET get(const cons& t) { - return get_class::template get(t.tail); + return get_class::BOOST_NESTED_TEMPLATE get(t.tail); } template inline static RET get(cons& t) { - return get_class::template get(t.tail); + return get_class::BOOST_NESTED_TEMPLATE get(t.tail); } }; @@ -190,7 +190,7 @@ inline typename access_traits< typename element >::type >::non_const_type get(cons& c BOOST_TUPLE_DUMMY_PARM) { - return detail::get_class::template + return detail::get_class::BOOST_NESTED_TEMPLATE get< typename access_traits< typename element >::type @@ -205,7 +205,7 @@ inline typename access_traits< typename element >::type >::const_type get(const cons& c BOOST_TUPLE_DUMMY_PARM) { - return detail::get_class::template + return detail::get_class::BOOST_NESTED_TEMPLATE get< typename access_traits< typename element >::type @@ -332,6 +332,7 @@ struct cons { typedef HT head_type; typedef null_type tail_type; + typedef cons self_type; typedef typename detail::wrap_non_storeable_type::type stored_head_type; @@ -379,7 +380,7 @@ struct cons { template typename access_traits< - typename element::type + typename element::type >::non_const_type get(BOOST_TUPLE_SINGLE_DUMMY_PARM) { return boost::tuples::get(*this); @@ -387,7 +388,7 @@ struct cons { template typename access_traits< - typename element::type + typename element::type >::const_type get(BOOST_TUPLE_SINGLE_DUMMY_PARM) const { return boost::tuples::get(*this);