On 01/03/19 14:06 +0000, Jonathan Wakely wrote:
+ if constexpr (sizeof...(__args) == 0) + { + return std::make_tuple(piecewise_construct, + std::__uses_alloc_args<_Tp1>(__a), + std::__uses_alloc_args<_Tp2>(__a)); + } + else if constexpr (sizeof...(__args) == 1) + {
If we want to ensure we only accept std::pair and not other pair-like types, then this branch would need: static_assert((__is_pair<_Args>::value && ...));
+ return std::make_tuple(piecewise_construct, + std::__uses_alloc_args<_Tp1>(__a, + std::forward<_Args>(__args).first...), + std::__uses_alloc_args<_Tp2>(__a, + std::forward<_Args>(__args).second...)); + } + else if constexpr (sizeof...(__args) == 2)