tuple (get(_Tuple_impl<>&, get(const _Tuple_impl<>&): Rename as __get_helper.

2007-03-19  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/tuple (get(_Tuple_impl<>&, get(const _Tuple_impl<>&):
	Rename as __get_helper.
	(get(tuple<>&, get(const tuple<>&)): Forward to the latter.

From-SVN: r123063
This commit is contained in:
Paolo Carlini 2007-03-19 16:58:54 +00:00 committed by Paolo Carlini
parent 17f6dbbf4e
commit b5e5ca5fd3
2 changed files with 28 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2007-03-19 Paolo Carlini <pcarlini@suse.de>
* include/tr1/tuple (get(_Tuple_impl<>&, get(const _Tuple_impl<>&):
Rename as __get_helper.
(get(tuple<>&, get(const tuple<>&)): Forward to the latter.
2007-03-19 Benjamin Kosnik <bkoz@redhat.com>
* docs/doxygen/user.cfg.in: Update for new includes, macros.

View File

@ -269,22 +269,40 @@ _GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
template<typename... _Elements>
const int tuple_size<tuple<_Elements...> >::value;
// Returns a const reference to the ith element of a tuple.
// Any const or non-const ref elements are returned with their original type.
template<int __i, typename _Head, typename... _Tail>
inline typename __add_ref<_Head>::type
get(_Tuple_impl<__i, _Head, _Tail...>& __t)
__get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t)
{
return __t._M_head;
}
template<int __i, typename _Head, typename... _Tail>
inline typename __add_c_ref<_Head>::type
get(const _Tuple_impl<__i, _Head, _Tail...>& __t)
__get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t)
{
return __t._M_head;
}
// Return a reference (const reference) to the ith element of a tuple.
// Any const or non-const ref elements are returned with their original type.
template<int __i, typename... _Elements>
inline typename __add_ref<
typename tuple_element<__i, tuple<_Elements...> >::type
>::type
get(tuple<_Elements...>& __t)
{
return __get_helper<__i>(__t);
}
template<int __i, typename... _Elements>
inline typename __add_c_ref<
typename tuple_element<__i, tuple<_Elements...> >::type
>::type
get(const tuple<_Elements...>& __t)
{
return __get_helper<__i>(__t);
}
// This class helps construct the various comparison operations on tuples
template<int __check_equal_size, int __i, int __j,
typename _Tp, typename _Up>