Lines Matching refs:_Tuple
405 template <class _Tuple,
408 __tuple_constructible<_Tuple, tuple<_Tp...> >::value
412 …__tuple_impl(_Tuple&& __t) _NOEXCEPT_((__all<is_nothrow_constructible<_Tp, typename tuple_element<…
413 … typename __make_tuple_types<_Tuple>::type>::type>::value...>::value))
415 … typename __make_tuple_types<_Tuple>::type>::type>(_VSTD::get<_Indx>(__t)))...
418 template <class _Alloc, class _Tuple,
421 __tuple_constructible<_Tuple, tuple<_Tp...> >::value
425 __tuple_impl(allocator_arg_t, const _Alloc& __a, _Tuple&& __t)
427 typename __make_tuple_types<_Tuple>::type>::type>(), __a,
429 … typename __make_tuple_types<_Tuple>::type>::type>(_VSTD::get<_Indx>(__t)))...
432 template <class _Tuple>
436 __tuple_assignable<_Tuple, tuple<_Tp...> >::value,
439 …operator=(_Tuple&& __t) _NOEXCEPT_((__all<is_nothrow_assignable<_Tp&, typename tuple_element<_Indx,
440 … typename __make_tuple_types<_Tuple>::type>::type>::value...>::value))
443 … typename __make_tuple_types<_Tuple>::type>::type>(_VSTD::get<_Indx>(__t)))...);
574 template <class _Tuple>
576 return __tuple_constructible<_Tuple, tuple>::value
577 && __tuple_convertible<_Tuple, tuple>::value;
580 template <class _Tuple>
582 return __tuple_constructible<_Tuple, tuple>::value
583 && !__tuple_convertible<_Tuple, tuple>::value;
593 template <class _Tuple>
597 _IsSame<__uncvref_t<_Tuple>, tuple>,
599 _Not<is_constructible<_Tp..., _Tuple>>,
600 _Not<is_convertible<_Tuple, _Tp...>>
604 template <class _Tuple>
607 __tuple_constructible<_Tuple, tuple>,
608 __tuple_convertible<_Tuple, tuple>,
609 _PreferTupleLikeConstructor<_Tuple>
613 template <class _Tuple>
616 __tuple_constructible<_Tuple, tuple>,
617 _PreferTupleLikeConstructor<_Tuple>,
618 _Not<__tuple_convertible<_Tuple, tuple>>
623 template <class _Tuple, bool _DisableIfLValue>
626 __tuple_like_with_size<_Tuple, sizeof...(_Tp)>::value
627 && !_PackExpandsToThisTuple<_Tuple>::value
628 && (!is_lvalue_reference<_Tuple>::value || !_DisableIfLValue)
629 >::template __enable_implicit<_Tuple>(),
633 template <class _Tuple, bool _DisableIfLValue>
636 __tuple_like_with_size<_Tuple, sizeof...(_Tp)>::value
637 && !_PackExpandsToThisTuple<_Tuple>::value
638 && (!is_lvalue_reference<_Tuple>::value || !_DisableIfLValue)
639 >::template __enable_explicit<_Tuple>(),
871 template <class _Tuple, _EnableImplicitTupleLikeConstructor<_Tuple, true> = false>
873 tuple(_Tuple&& __t) _NOEXCEPT_((is_nothrow_constructible<_BaseT, _Tuple>::value))
874 : __base_(_VSTD::forward<_Tuple>(__t)) {}
876 template <class _Tuple, _EnableImplicitTupleLikeConstructor<const _Tuple&, false> = false>
878 … tuple(const _Tuple& __t) _NOEXCEPT_((is_nothrow_constructible<_BaseT, const _Tuple&>::value))
880 template <class _Tuple, _EnableExplicitTupleLikeConstructor<_Tuple, true> = false>
883 tuple(_Tuple&& __t) _NOEXCEPT_((is_nothrow_constructible<_BaseT, _Tuple>::value))
884 : __base_(_VSTD::forward<_Tuple>(__t)) {}
886 template <class _Tuple, _EnableExplicitTupleLikeConstructor<const _Tuple&, false> = false>
889 … tuple(const _Tuple& __t) _NOEXCEPT_((is_nothrow_constructible<_BaseT, const _Tuple&>::value))
892 template <class _Alloc, class _Tuple,
896 __tuple_like_with_size<_Tuple, sizeof...(_Tp)>::value
897 >::template __enable_implicit<_Tuple>(),
902 tuple(allocator_arg_t, const _Alloc& __a, _Tuple&& __t)
903 : __base_(allocator_arg_t(), __a, _VSTD::forward<_Tuple>(__t)) {}
905 template <class _Alloc, class _Tuple,
909 __tuple_like_with_size<_Tuple, sizeof...(_Tp)>::value
910 >::template __enable_explicit<_Tuple>(),
916 tuple(allocator_arg_t, const _Alloc& __a, _Tuple&& __t)
917 : __base_(allocator_arg_t(), __a, _VSTD::forward<_Tuple>(__t)) {}
938 template <class _Tuple,
941 __tuple_assignable<_Tuple, tuple>::value
946 operator=(_Tuple&& __t) _NOEXCEPT_((is_nothrow_assignable<_BaseT&, _Tuple>::value))
948 __base_.operator=(_VSTD::forward<_Tuple>(__t));
1411 template <class _Fn, class _Tuple, size_t ..._Id>
1413 constexpr decltype(auto) __apply_tuple_impl(_Fn && __f, _Tuple && __t,
1418 _VSTD::get<_Id>(_VSTD::forward<_Tuple>(__t))...)
1421 template <class _Fn, class _Tuple>
1423 constexpr decltype(auto) apply(_Fn && __f, _Tuple && __t)
1426 _VSTD::forward<_Fn>(__f), _VSTD::forward<_Tuple>(__t),
1427 typename __make_tuple_indices<tuple_size_v<remove_reference_t<_Tuple>>>::type{})
1430 template <class _Tp, class _Tuple, size_t... _Idx>
1432 constexpr _Tp __make_from_tuple_impl(_Tuple&& __t, __tuple_indices<_Idx...>)
1434 _Tp(_VSTD::get<_Idx>(_VSTD::forward<_Tuple>(__t))...)
1437 template <class _Tp, class _Tuple>
1439 constexpr _Tp make_from_tuple(_Tuple&& __t)
1441 _VSTD::__make_from_tuple_impl<_Tp>(_VSTD::forward<_Tuple>(__t),
1442 typename __make_tuple_indices<tuple_size_v<remove_reference_t<_Tuple>>>::type{})