Lines Matching refs:Hash
29 template <typename Key, typename T, typename Hash, typename KeyEqual, typename Allocator, bool Allo…
34 using hash_compare_type = hash_compare<Key, Hash, KeyEqual>;
42 template <typename Key, typename T, typename Hash, typename KeyEqual, typename Allocator>
45 template <typename Key, typename T, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_…
48 …: public concurrent_unordered_base<concurrent_unordered_map_traits<Key, T, Hash, KeyEqual, Allocat…
50 using traits_type = concurrent_unordered_map_traits<Key, T, Hash, KeyEqual, Allocator, false>;
163 typename Hash = std::hash<iterator_key_t<It>>,
168 typename = std::enable_if_t<!is_allocator_v<Hash>>,
170 typename = std::enable_if_t<!std::is_integral_v<Hash>>>
172 Hash = Hash(), KeyEq = KeyEq(), Alloc = Alloc() )
173 -> concurrent_unordered_map<iterator_key_t<It>, iterator_mapped_t<It>, Hash, KeyEq, Alloc>;
176 typename Hash = std::hash<std::remove_const_t<Key>>,
180 typename = std::enable_if_t<!is_allocator_v<Hash>>,
182 typename = std::enable_if_t<!std::is_integral_v<Hash>>>
184 Hash = Hash(), KeyEq = KeyEq(), Alloc = Alloc() )
185 -> concurrent_unordered_map<std::remove_const_t<Key>, T, Hash, KeyEq, Alloc>;
197 template <typename It, typename Hash, typename Alloc,
200 typename = std::enable_if_t<!is_allocator_v<Hash>>,
201 typename = std::enable_if_t<!std::is_integral_v<Hash>>>
202 concurrent_unordered_map( It, It, std::size_t, Hash, Alloc )
204 Hash, std::equal_to<iterator_key_t<It>>, Alloc>;
218 template <typename Key, typename T, typename Hash, typename Alloc,
220 typename = std::enable_if_t<!is_allocator_v<Hash>>,
221 typename = std::enable_if_t<!std::is_integral_v<Hash>>>
222 concurrent_unordered_map( std::initializer_list<std::pair<Key, T>>, std::size_t, Hash, Alloc )
223 -> concurrent_unordered_map<std::remove_const_t<Key>, T, Hash,
231 template <typename Key, typename T, typename Hash, typename KeyEq, typename Alloc>
232 concurrent_unordered_map( concurrent_unordered_map<Key, T, Hash, KeyEq, Alloc>, Alloc )
233 -> concurrent_unordered_map<Key, T, Hash, KeyEq, Alloc>;
238 template <typename Key, typename T, typename Hash, typename KeyEqual, typename Allocator>
239 void swap( concurrent_unordered_map<Key, T, Hash, KeyEqual, Allocator>& lhs, in swap() argument
240 concurrent_unordered_map<Key, T, Hash, KeyEqual, Allocator>& rhs ) { in swap()
244 template <typename Key, typename T, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_…
247 …: public concurrent_unordered_base<concurrent_unordered_map_traits<Key, T, Hash, KeyEqual, Allocat…
249 using traits_type = concurrent_unordered_map_traits<Key, T, Hash, KeyEqual, Allocator, true>;
325 typename Hash = std::hash<iterator_key_t<It>>,
330 typename = std::enable_if_t<!is_allocator_v<Hash>>,
332 typename = std::enable_if_t<!std::is_integral_v<Hash>>>
333 concurrent_unordered_multimap( It, It, std::size_t = {}, Hash = Hash(), KeyEq = KeyEq(), Alloc = Al…
334 -> concurrent_unordered_multimap<iterator_key_t<It>, iterator_mapped_t<It>, Hash, KeyEq, Alloc>;
337 typename Hash = std::hash<std::remove_const_t<Key>>,
341 typename = std::enable_if_t<!is_allocator_v<Hash>>,
343 typename = std::enable_if_t<!std::is_integral_v<Hash>>>
345 Hash = Hash(), KeyEq = KeyEq(), Alloc = Alloc() )
346 -> concurrent_unordered_multimap<std::remove_const_t<Key>, T, Hash, KeyEq, Alloc>;
356 template <typename It, typename Hash, typename Alloc,
359 typename = std::enable_if_t<!is_allocator_v<Hash>>,
360 typename = std::enable_if_t<!std::is_integral_v<Hash>>>
361 concurrent_unordered_multimap( It, It, std::size_t, Hash, Alloc )
362 -> concurrent_unordered_multimap<iterator_key_t<It>, iterator_mapped_t<It>, Hash,
377 template <typename Key, typename T, typename Hash, typename Alloc,
379 typename = std::enable_if_t<!is_allocator_v<Hash>>,
380 typename = std::enable_if_t<!std::is_integral_v<Hash>>>
381 concurrent_unordered_multimap( std::initializer_list<std::pair<Key, T>>, std::size_t, Hash, Alloc )
382 -> concurrent_unordered_multimap<std::remove_const_t<Key>, T, Hash,
390 template <typename Key, typename T, typename Hash, typename KeyEq, typename Alloc>
391 concurrent_unordered_multimap( concurrent_unordered_multimap<Key, T, Hash, KeyEq, Alloc>, Alloc )
392 -> concurrent_unordered_multimap<Key, T, Hash, KeyEq, Alloc>;
396 template <typename Key, typename T, typename Hash, typename KeyEqual, typename Allocator>
397 void swap( concurrent_unordered_multimap<Key, T, Hash, KeyEqual, Allocator>& lhs, in swap() argument
398 concurrent_unordered_multimap<Key, T, Hash, KeyEqual, Allocator>& rhs ) { in swap()