summaryrefslogtreecommitdiff
path: root/include/tuple
diff options
context:
space:
mode:
Diffstat (limited to 'include/tuple')
-rw-r--r--include/tuple12
1 files changed, 7 insertions, 5 deletions
diff --git a/include/tuple b/include/tuple
index cddb70954ee06..f2a74721921a0 100644
--- a/include/tuple
+++ b/include/tuple
@@ -366,7 +366,7 @@ struct __all_default_constructible<__tuple_types<_Tp...>>
template<class _Indx, class ..._Tp> struct __tuple_impl;
template<size_t ..._Indx, class ..._Tp>
-struct __tuple_impl<__tuple_indices<_Indx...>, _Tp...>
+struct _LIBCPP_DECLSPEC_EMPTY_BASES __tuple_impl<__tuple_indices<_Indx...>, _Tp...>
: public __tuple_leaf<_Indx, _Tp>...
{
_LIBCPP_INLINE_VISIBILITY
@@ -751,7 +751,7 @@ public:
_CheckArgsConstructor<
!_EnableImplicitReducedArityExtension
&& sizeof...(_Up) < sizeof...(_Tp)
- && !_PackExpandsToThisTuple<_Up...>()
+ && !_PackExpandsToThisTuple<_Up...>::value
>::template __enable_implicit<_Up...>(),
bool
>::type = false
@@ -1064,11 +1064,13 @@ template <class _Up>
struct __ignore_t
{
template <class _Tp>
- _LIBCPP_INLINE_VISIBILITY
- const __ignore_t& operator=(_Tp&&) const {return *this;}
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
+ const __ignore_t& operator=(_Tp&&) const {return *this;}
};
-namespace { const __ignore_t<unsigned char> ignore = __ignore_t<unsigned char>(); }
+namespace {
+ constexpr __ignore_t<unsigned char> ignore = __ignore_t<unsigned char>();
+}
template <class _Tp>
struct __make_tuple_return_impl