Add tests for class template deduction on std::tuple.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@304967 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Fiselier
2017-06-08 07:18:17 +00:00
parent d66e43aff1
commit 3113ac6f85
2 changed files with 160 additions and 0 deletions

View File

@@ -929,6 +929,16 @@ public:
void swap(tuple&) _NOEXCEPT {}
};
#ifdef __cpp_deduction_guides
// NOTE: These are not yet standardized, but are required to simulate the
// implicit deduction guide that should be generated had libc++ declared the
// tuple-like constructors "correctly"
template <class _Alloc, class ..._Args>
tuple(allocator_arg_t, const _Alloc&, tuple<_Args...> const&) -> tuple<_Args...>;
template <class _Alloc, class ..._Args>
tuple(allocator_arg_t, const _Alloc&, tuple<_Args...>&&) -> tuple<_Args...>;
#endif
template <class ..._Tp>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if