diff options
author | arcadia-devtools <[email protected]> | 2022-02-10 17:53:52 +0300 |
---|---|---|
committer | arcadia-devtools <[email protected]> | 2022-02-10 17:53:52 +0300 |
commit | 5c64b97bb7e4034eff8833e4c367f61d34fcb4ee (patch) | |
tree | 7c5769528f2fcdaa5a718aa73e4aa64d50905269 /contrib/libs/cxxsupp/libcxx/include/unordered_set | |
parent | 1b56f620ac98766b198121ca1b728e7e61efbb56 (diff) |
intermediate changes
ref:4635f4dd763168c3fa295f87727595c785b4d5a4
Diffstat (limited to 'contrib/libs/cxxsupp/libcxx/include/unordered_set')
-rw-r--r-- | contrib/libs/cxxsupp/libcxx/include/unordered_set | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/include/unordered_set b/contrib/libs/cxxsupp/libcxx/include/unordered_set index 5856e4bc401..33b54d957ff 100644 --- a/contrib/libs/cxxsupp/libcxx/include/unordered_set +++ b/contrib/libs/cxxsupp/libcxx/include/unordered_set @@ -182,6 +182,43 @@ public: void reserve(size_type n); }; +template<class InputIterator, + class Hash = hash<typename iterator_traits<InputIterator>::value_type>, + class Pred = equal_to<typename iterator_traits<InputIterator>::value_type>, + class Allocator = allocator<typename iterator_traits<InputIterator>::value_type>> +unordered_set(InputIterator, InputIterator, typename see below::size_type = see below, + Hash = Hash(), Pred = Pred(), Allocator = Allocator()) + -> unordered_set<typename iterator_traits<InputIterator>::value_type, + Hash, Pred, Allocator>; // C++17 + +template<class T, class Hash = hash<T>, + class Pred = equal_to<T>, class Allocator = allocator<T>> +unordered_set(initializer_list<T>, typename see below::size_type = see below, + Hash = Hash(), Pred = Pred(), Allocator = Allocator()) + -> unordered_set<T, Hash, Pred, Allocator>; // C++17 + +template<class InputIterator, class Allocator> +unordered_set(InputIterator, InputIterator, typename see below::size_type, Allocator) + -> unordered_set<typename iterator_traits<InputIterator>::value_type, + hash<typename iterator_traits<InputIterator>::value_type>, + equal_to<typename iterator_traits<InputIterator>::value_type>, + Allocator>; // C++17 + +template<class InputIterator, class Hash, class Allocator> +unordered_set(InputIterator, InputIterator, typename see below::size_type, + Hash, Allocator) + -> unordered_set<typename iterator_traits<InputIterator>::value_type, Hash, + equal_to<typename iterator_traits<InputIterator>::value_type>, + Allocator>; // C++17 + +template<class T, class Allocator> +unordered_set(initializer_list<T>, typename see below::size_type, Allocator) + -> unordered_set<T, hash<T>, equal_to<T>, Allocator>; // C++17 + +template<class T, class Hash, class Allocator> +unordered_set(initializer_list<T>, typename see below::size_type, Hash, Allocator) + -> unordered_set<T, Hash, equal_to<T>, Allocator>; // C++17 + template <class Value, class Hash, class Pred, class Alloc> void swap(unordered_set<Value, Hash, Pred, Alloc>& x, unordered_set<Value, Hash, Pred, Alloc>& y) @@ -359,6 +396,42 @@ public: void reserve(size_type n); }; +template<class InputIterator, + class Hash = hash<typename iterator_traits<InputIterator>::value_type>, + class Pred = equal_to<typename iterator_traits<InputIterator>::value_type>, + class Allocator = allocator<typename iterator_traits<InputIterator>::value_type>> +unordered_multiset(InputIterator, InputIterator, see below::size_type = see below, + Hash = Hash(), Pred = Pred(), Allocator = Allocator()) + -> unordered_multiset<typename iterator_traits<InputIterator>::value_type, + Hash, Pred, Allocator>; // C++17 + +template<class T, class Hash = hash<T>, + class Pred = equal_to<T>, class Allocator = allocator<T>> +unordered_multiset(initializer_list<T>, typename see below::size_type = see below, + Hash = Hash(), Pred = Pred(), Allocator = Allocator()) + -> unordered_multiset<T, Hash, Pred, Allocator>; // C++17 + +template<class InputIterator, class Allocator> +unordered_multiset(InputIterator, InputIterator, typename see below::size_type, Allocator) + -> unordered_multiset<typename iterator_traits<InputIterator>::value_type, + hash<typename iterator_traits<InputIterator>::value_type>, + equal_to<typename iterator_traits<InputIterator>::value_type>, + Allocator>; // C++17 + +template<class InputIterator, class Hash, class Allocator> +unordered_multiset(InputIterator, InputIterator, typename see below::size_type, + Hash, Allocator) + -> unordered_multiset<typename iterator_traits<InputIterator>::value_type, Hash, + equal_to<typename iterator_traits<InputIterator>::value_type>, Allocator>; // C++17 + +template<class T, class Allocator> +unordered_multiset(initializer_list<T>, typename see below::size_type, Allocator) + -> unordered_multiset<T, hash<T>, equal_to<T>, Allocator>; // C++17 + +template<class T, class Hash, class Allocator> +unordered_multiset(initializer_list<T>, typename see below::size_type, Hash, Allocator) + -> unordered_multiset<T, Hash, equal_to<T>, Allocator>; // C++17 + template <class Value, class Hash, class Pred, class Alloc> void swap(unordered_multiset<Value, Hash, Pred, Alloc>& x, unordered_multiset<Value, Hash, Pred, Alloc>& y) @@ -803,6 +876,7 @@ template<class _InputIterator, class _Hash = hash<__iter_value_type<_InputIterator>>, class _Pred = equal_to<__iter_value_type<_InputIterator>>, class _Allocator = allocator<__iter_value_type<_InputIterator>>, + class = enable_if_t<__is_cpp17_input_iterator<_InputIterator>::value>, class = enable_if_t<!__is_allocator<_Hash>::value>, class = enable_if_t<!is_integral<_Hash>::value>, class = enable_if_t<!__is_allocator<_Pred>::value>, @@ -823,6 +897,7 @@ unordered_set(initializer_list<_Tp>, typename allocator_traits<_Allocator>::size -> unordered_set<_Tp, _Hash, _Pred, _Allocator>; template<class _InputIterator, class _Allocator, + class = enable_if_t<__is_cpp17_input_iterator<_InputIterator>::value>, class = enable_if_t<__is_allocator<_Allocator>::value>> unordered_set(_InputIterator, _InputIterator, typename allocator_traits<_Allocator>::size_type, _Allocator) @@ -832,6 +907,7 @@ unordered_set(_InputIterator, _InputIterator, _Allocator>; template<class _InputIterator, class _Hash, class _Allocator, + class = enable_if_t<__is_cpp17_input_iterator<_InputIterator>::value>, class = enable_if_t<!__is_allocator<_Hash>::value>, class = enable_if_t<!is_integral<_Hash>::value>, class = enable_if_t<__is_allocator<_Allocator>::value>> @@ -1468,6 +1544,7 @@ template<class _InputIterator, class _Hash = hash<__iter_value_type<_InputIterator>>, class _Pred = equal_to<__iter_value_type<_InputIterator>>, class _Allocator = allocator<__iter_value_type<_InputIterator>>, + class = enable_if_t<__is_cpp17_input_iterator<_InputIterator>::value>, class = enable_if_t<!__is_allocator<_Hash>::value>, class = enable_if_t<!is_integral<_Hash>::value>, class = enable_if_t<!__is_allocator<_Pred>::value>, @@ -1487,6 +1564,7 @@ unordered_multiset(initializer_list<_Tp>, typename allocator_traits<_Allocator>: -> unordered_multiset<_Tp, _Hash, _Pred, _Allocator>; template<class _InputIterator, class _Allocator, + class = enable_if_t<__is_cpp17_input_iterator<_InputIterator>::value>, class = enable_if_t<__is_allocator<_Allocator>::value>> unordered_multiset(_InputIterator, _InputIterator, typename allocator_traits<_Allocator>::size_type, _Allocator) -> unordered_multiset<__iter_value_type<_InputIterator>, @@ -1495,6 +1573,7 @@ unordered_multiset(_InputIterator, _InputIterator, typename allocator_traits<_Al _Allocator>; template<class _InputIterator, class _Hash, class _Allocator, + class = enable_if_t<__is_cpp17_input_iterator<_InputIterator>::value>, class = enable_if_t<!__is_allocator<_Hash>::value>, class = enable_if_t<!is_integral<_Hash>::value>, class = enable_if_t<__is_allocator<_Allocator>::value>> |