Metall  v0.28
A persistent memory allocator for data-centric analytics
unordered_node_map.hpp
Go to the documentation of this file.
1 // Copyright 2023 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_NODE_MAP_HPP
7 #define METALL_CONTAINER_UNORDERED_NODE_MAP_HPP
8 
9 #include <functional>
10 
11 static_assert(BOOST_VERSION >= 108200, "Unsupported Boost version");
12 #include <boost/unordered/unordered_node_map.hpp>
13 
14 #include <metall/metall.hpp>
15 
16 namespace metall::container {
17 
20 template <class Key, class T, class Hash = std::hash<Key>,
21  class KeyEqual = std::equal_to<Key>,
22  class Allocator = manager::allocator_type<std::pair<const Key, T>>>
24  boost::unordered_node_map<Key, T, Hash, KeyEqual, Allocator>;
25 
26 } // namespace metall::container
27 
28 #endif // METALL_CONTAINER_UNORDERED_NODE_MAP_HPP
Namespace for Metall container.
boost::unordered_node_map< Key, T, Hash, KeyEqual, Allocator > unordered_node_map
An unordered_node_map container that uses Metall as its default allocator.
Definition: unordered_node_map.hpp:24