Metall  v0.29
A persistent memory allocator for data-centric analytics
unordered_map.hpp
Go to the documentation of this file.
1 // Copyright 2020 Lawrence Livermore National Security, LLC and other Metall
2 // Project Developers. See the top-level COPYRIGHT file for details.
3 //
4 // SPDX-License-Identifier: (Apache-2.0 OR MIT)
5 
6 #ifndef METALL_CONTAINER_UNORDERED_MAP_HPP
7 #define METALL_CONTAINER_UNORDERED_MAP_HPP
8 
9 #include <functional>
10 
11 #include <boost/unordered_map.hpp>
12 
13 #include <metall/metall.hpp>
14 
15 namespace metall::container {
16 
18 template <class Key, class T, class Hash = std::hash<Key>,
19  class KeyEqual = std::equal_to<Key>,
20  class Allocator = manager::allocator_type<std::pair<const Key, T>>>
21 using unordered_map = boost::unordered_map<Key, T, Hash, KeyEqual, Allocator>;
22 
25 template <class Key, class T, class Hash = std::hash<Key>,
26  class KeyEqual = std::equal_to<Key>,
27  class Allocator = manager::allocator_type<std::pair<const Key, T>>>
29  boost::unordered_multimap<Key, T, Hash, KeyEqual, Allocator>;
30 
31 } // namespace metall::container
32 
33 #endif // METALL_CONTAINER_UNORDERED_MAP_HPP
Namespace for Metall container.
boost::unordered_map< Key, T, Hash, KeyEqual, Allocator > unordered_map
An unordered_map container that uses Metall as its default allocator.
Definition: unordered_map.hpp:21
boost::unordered_multimap< Key, T, Hash, KeyEqual, Allocator > unordered_multimap
An unordered_multimap container that uses Metall as its default allocator.
Definition: unordered_map.hpp:29