diff options
Diffstat (limited to 'libcxx/include/stack')
| -rw-r--r-- | libcxx/include/stack | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/libcxx/include/stack b/libcxx/include/stack index 19d09373e23d..3d7187ddb163 100644 --- a/libcxx/include/stack +++ b/libcxx/include/stack @@ -294,12 +294,12 @@ public: }; # if _LIBCPP_STD_VER >= 17 -template <class _Container, class = enable_if_t<!__is_allocator<_Container>::value> > +template <class _Container, class = enable_if_t<!__is_allocator_v<_Container>>> stack(_Container) -> stack<typename _Container::value_type, _Container>; template <class _Container, class _Alloc, - class = enable_if_t<!__is_allocator<_Container>::value>, + class = enable_if_t<!__is_allocator_v<_Container>>, class = enable_if_t<uses_allocator<_Container, _Alloc>::value> > stack(_Container, _Alloc) -> stack<typename _Container::value_type, _Container>; # endif @@ -314,15 +314,13 @@ stack(from_range_t, _Range&&) -> stack<ranges::range_value_t<_Range>>; template <class _InputIterator, class _Alloc, __enable_if_t<__has_input_iterator_category<_InputIterator>::value, int> = 0, - __enable_if_t<__is_allocator<_Alloc>::value, int> = 0> -stack(_InputIterator, - _InputIterator, - _Alloc) -> stack<__iter_value_type<_InputIterator>, deque<__iter_value_type<_InputIterator>, _Alloc>>; - -template <ranges::input_range _Range, class _Alloc, __enable_if_t<__is_allocator<_Alloc>::value, int> = 0> -stack(from_range_t, - _Range&&, - _Alloc) -> stack<ranges::range_value_t<_Range>, deque<ranges::range_value_t<_Range>, _Alloc>>; + __enable_if_t<__is_allocator_v<_Alloc>, int> = 0> +stack(_InputIterator, _InputIterator, _Alloc) + -> stack<__iter_value_type<_InputIterator>, deque<__iter_value_type<_InputIterator>, _Alloc>>; + +template <ranges::input_range _Range, class _Alloc, __enable_if_t<__is_allocator_v<_Alloc>, int> = 0> +stack(from_range_t, _Range&&, _Alloc) + -> stack<ranges::range_value_t<_Range>, deque<ranges::range_value_t<_Range>, _Alloc>>; # endif |
