Lines Matching +full:alloc +full:- +full:ranges
1 // -*- C++ -*-
2 //===----------------------------------------------------------------------===//
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8 //===----------------------------------------------------------------------===//
23 class Alloc = allocator<pair<const Key, T>>>
32 typedef Alloc allocator_type;
62 template<container-compatible-range<value_type> R>
90 template<container-compatible-range<value_type> R>
93 template<container-compatible-range<value_type> R>
136 template<container-compatible-range<value_type> R>
237 -> unordered_map<iter_key_t<InputIterator>, iter_value_t<InputIterator>, Hash, Pred,
240 template<ranges::input_range R, class Hash = hash<range-key-type<R>>,
241 class Pred = equal_to<range-key-type<R>>,
242 class Allocator = allocator<range-to-alloc-type<R>>>
245 -> unordered_map<range-key-type<R>, range-mapped-type<R>, Hash, Pred, Allocator>; // C++23
251 -> unordered_map<Key, T, Hash, Pred, Allocator>; // C++17
255 -> unordered_map<iter_key_t<InputIterator>, iter_val_t<InputIterator>,
260 -> unordered_map<iter_key_t<InputIterator>, iter_val_t<InputIterator>,
265 -> unordered_map<iter_key_t<InputIterator>, iter_val_t<InputIterator>, Hash,
268 template<ranges::input_range R, class Allocator>
270 -> unordered_map<range-key-type<R>, range-mapped-type<R>, hash<range-key-type<R>>,
271 equal_to<range-key-type<R>>, Allocator>; // C++23
273 template<ranges::input_range R, class Allocator>
275 -> unordered_map<range-key-type<R>, range-mapped-type<R>, hash<range-key-type<R>>,
276 equal_to<range-key-type<R>>, Allocator>; // C++23
278 template<ranges::input_range R, class Hash, class Allocator>
280 -> unordered_map<range-key-type<R>, range-mapped-type<R>, Hash,
281 equal_to<range-key-type<R>>, Allocator>; // C++23
285 -> unordered_map<Key, T, hash<Key>, equal_to<Key>, Allocator>; // C++17
289 -> unordered_map<Key, T, hash<Key>, equal_to<Key>, Allocator>; // C++17
293 -> unordered_map<Key, T, Hash, equal_to<Key>, Allocator>; // C++17
295 template <class Key, class T, class Hash, class Pred, class Alloc>
296 void swap(unordered_map<Key, T, Hash, Pred, Alloc>& x,
297 unordered_map<Key, T, Hash, Pred, Alloc>& y)
300 template <class Key, class T, class Hash, class Pred, class Alloc>
302 operator==(const unordered_map<Key, T, Hash, Pred, Alloc>& x,
303 const unordered_map<Key, T, Hash, Pred, Alloc>& y);
305 template <class Key, class T, class Hash, class Pred, class Alloc>
307 operator!=(const unordered_map<Key, T, Hash, Pred, Alloc>& x,
308 const unordered_map<Key, T, Hash, Pred, Alloc>& y); // Removed in C++20
311 class Alloc = allocator<pair<const Key, T>>>
320 typedef Alloc allocator_type;
349 template<container-compatible-range<value_type> R>
376 template<container-compatible-range<value_type> R>
379 template<container-compatible-range<value_type> R>
422 template<container-compatible-range<value_type> R>
500 -> unordered_multimap<iter_key_t<InputIterator>, iter_value_t<InputIterator>, Hash, Pred,
503 template<ranges::input_range R, class Hash = hash<range-key-type<R>>,
504 class Pred = equal_to<range-key-type<R>>,
505 class Allocator = allocator<range-to-alloc-type<R>>>
508 -> unordered_multimap<range-key-type<R>, range-mapped-type<R>, Hash, Pred, Allocator>; // C++23
514 -> unordered_multimap<Key, T, Hash, Pred, Allocator>; // C++17
518 -> unordered_multimap<iter_key_t<InputIterator>, iter_val_t<InputIterator>,
523 -> unordered_multimap<iter_key_t<InputIterator>, iter_val_t<InputIterator>,
528 -> unordered_multimap<iter_key_t<InputIterator>, iter_val_t<InputIterator>, Hash,
531 template<ranges::input_range R, class Allocator>
533 -> unordered_multimap<range-key-type<R>, range-mapped-type<R>, hash<range-key-type<R>>,
534 equal_to<range-key-type<R>>, Allocator>; // C++23
536 template<ranges::input_range R, class Allocator>
538 -> unordered_multimap<range-key-type<R>, range-mapped-type<R>, hash<range-key-type<R>>,
539 equal_to<range-key-type<R>>, Allocator>; // C++23
541 template<ranges::input_range R, class Hash, class Allocator>
543 -> unordered_multimap<range-key-type<R>, range-mapped-type<R>, Hash,
544 equal_to<range-key-type<R>>, Allocator>; // C++23
548 -> unordered_multimap<Key, T, hash<Key>, equal_to<Key>, Allocator>; // C++17
552 -> unordered_multimap<Key, T, hash<Key>, equal_to<Key>, Allocator>; // C++17
557 -> unordered_multimap<Key, T, Hash, equal_to<Key>, Allocator>; // C++17
559 template <class Key, class T, class Hash, class Pred, class Alloc>
560 void swap(unordered_multimap<Key, T, Hash, Pred, Alloc>& x,
561 unordered_multimap<Key, T, Hash, Pred, Alloc>& y)
572 template <class Key, class T, class Hash, class Pred, class Alloc>
574 operator==(const unordered_multimap<Key, T, Hash, Pred, Alloc>& x,
575 const unordered_multimap<Key, T, Hash, Pred, Alloc>& y);
577 template <class Key, class T, class Hash, class Pred, class Alloc>
579 operator!=(const unordered_multimap<Key, T, Hash, Pred, Alloc>& x,
580 const unordered_multimap<Key, T, Hash, Pred, Alloc>& y); // Removed in C++20
610 // standard-mandated includes
822 __alloc_traits::destroy(__na_, std::addressof(__p->__get_value().__get_value().second));
824 __alloc_traits::destroy(__na_, std::addressof(__p->__get_value().__get_value().first));
930 _LIBCPP_HIDE_FROM_ABI reference operator*() const { return __i_->__get_value(); }
931 …_LIBCPP_HIDE_FROM_ABI pointer operator->() const { return pointer_traits<pointer>::pointer_to(__i_…
984 _LIBCPP_HIDE_FROM_ABI reference operator*() const { return __i_->__get_value(); }
985 …_LIBCPP_HIDE_FROM_ABI pointer operator->() const { return pointer_traits<pointer>::pointer_to(__i_…
1114 size_type __n = /*implementation-defined*/ 0,
1295 __res.first->second = std::forward<_Vp>(__v);
1304 __res.first->second = std::forward<_Vp>(__v);
1475 …-> unordered_map<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>, _Hash, _Pred…
1478 template <ranges::input_range _Range,
1492 …-> unordered_map<__range_key_type<_Range>, __range_mapped_type<_Range>, _Hash, _Pred, _Allocator>;…
1508 … _Allocator = _Allocator()) -> unordered_map<remove_const_t<_Key>, _Tp, _Hash, _Pred, _Allocator>;
1515 -> unordered_map<__iter_key_type<_InputIterator>,
1526 -> unordered_map<__iter_key_type<_InputIterator>,
1540 -> unordered_map<__iter_key_type<_InputIterator>,
1548 template <ranges::input_range _Range, class _Allocator, class = enable_if_t<__is_allocator<_Allocat…
1550 -> unordered_map<__range_key_type<_Range>,
1556 template <ranges::input_range _Range, class _Allocator, class = enable_if_t<__is_allocator<_Allocat…
1558 -> unordered_map<__range_key_type<_Range>,
1564 template <ranges::input_range _Range,
1571 -> unordered_map<__range_key_type<_Range>,
1581 …-> unordered_map<remove_const_t<_Key>, _Tp, hash<remove_const_t<_Key>>, equal_to<remove_const_t<_K…
1585 …-> unordered_map<remove_const_t<_Key>, _Tp, hash<remove_const_t<_Key>>, equal_to<remove_const_t<_K…
1595 -> unordered_map<remove_const_t<_Key>, _Tp, _Hash, equal_to<remove_const_t<_Key>>, _Allocator>;
1670 __table_.__emplace_unique(__u.__table_.remove((__i++).__i_)->__get_value().__move());
1730 .first->__get_value()
1739 .first->__get_value()
1749 __node_traits::construct(__na, std::addressof(__h->__get_value().__get_value().first), __k);
1751 __node_traits::construct(__na, std::addressof(__h->__get_value().__get_value().second));
1760 return __i->second;
1764 return __r.first->second;
1774 return __i->second;
1782 return __i->second;
1807 const_iterator __j = __y.find(__i->first);
1912 size_type __n = /*implementation-defined*/ 0,
2204 -> unordered_multimap<__iter_key_type<_InputIterator>,
2211 template <ranges::input_range _Range,
2225 …-> unordered_multimap<__range_key_type<_Range>, __range_mapped_type<_Range>, _Hash, _Pred, _Alloca…
2242 …_Allocator = _Allocator()) -> unordered_multimap<remove_const_t<_Key>, _Tp, _Hash, _Pred, _Allocat…
2249 -> unordered_multimap<__iter_key_type<_InputIterator>,
2260 -> unordered_multimap<__iter_key_type<_InputIterator>,
2274 -> unordered_multimap<__iter_key_type<_InputIterator>,
2282 template <ranges::input_range _Range, class _Allocator, class = enable_if_t<__is_allocator<_Allocat…
2284 -> unordered_multimap<__range_key_type<_Range>,
2290 template <ranges::input_range _Range, class _Allocator, class = enable_if_t<__is_allocator<_Allocat…
2292 -> unordered_multimap<__range_key_type<_Range>,
2298 template <ranges::input_range _Range,
2305 -> unordered_multimap<__range_key_type<_Range>,
2315 -> unordered_multimap<remove_const_t<_Key>,
2323 -> unordered_multimap<remove_const_t<_Key>,
2338 …-> unordered_multimap<remove_const_t<_Key>, _Tp, _Hash, equal_to<remove_const_t<_Key>>, _Allocator…
2417 __table_.__insert_multi(__u.__table_.remove((__i++).__i_)->__get_value().__move());
2494 _EqRng __xeq = __x.equal_range(__i->first);
2495 _EqRng __yeq = __y.equal_range(__i->first);