1212#include < __config>
1313#include < __tuple/tuple_indices.h>
1414#include < __tuple/tuple_types.h>
15- #include < __type_traits/add_const.h>
16- #include < __type_traits/add_cv.h>
17- #include < __type_traits/add_volatile.h>
1815#include < cstddef>
1916
2017#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -28,17 +25,17 @@ struct _LIBCPP_TEMPLATE_VIS tuple_element;
2825
2926template <size_t _Ip, class _Tp >
3027struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, const _Tp> {
31- typedef _LIBCPP_NODEBUG typename add_const< typename tuple_element<_Ip, _Tp>::type >::type type;
28+ typedef _LIBCPP_NODEBUG const typename tuple_element<_Ip, _Tp>::type type;
3229};
3330
3431template <size_t _Ip, class _Tp >
3532struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, volatile _Tp> {
36- typedef _LIBCPP_NODEBUG typename add_volatile< typename tuple_element<_Ip, _Tp>::type >::type type;
33+ typedef _LIBCPP_NODEBUG volatile typename tuple_element<_Ip, _Tp>::type type;
3734};
3835
3936template <size_t _Ip, class _Tp >
4037struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, const volatile _Tp> {
41- typedef _LIBCPP_NODEBUG typename add_cv< typename tuple_element<_Ip, _Tp>::type >::type type;
38+ typedef _LIBCPP_NODEBUG const volatile typename tuple_element<_Ip, _Tp>::type type;
4239};
4340
4441#ifndef _LIBCPP_CXX03_LANG
0 commit comments