Metall  v0.29
A persistent memory allocator for data-centric analytics
unordered_set.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_SET_HPP
7 #define METALL_CONTAINER_UNORDERED_SET_HPP
8 
9 #include <functional>
10 
11 #include <boost/unordered_set.hpp>
12 
13 #include <metall/metall.hpp>
14 
15 namespace metall::container {
16 
18 template <class Key, class Hash = std::hash<Key>,
19  class KeyEqual = std::equal_to<Key>,
20  class Allocator = manager::allocator_type<Key>>
21 using unordered_set = boost::unordered_set<Key, Hash, KeyEqual, Allocator>;
22 
25 template <class Key, class Hash = std::hash<Key>,
26  class KeyEqual = std::equal_to<Key>,
27  class Allocator = manager::allocator_type<Key>>
29  boost::unordered_multiset<Key, Hash, KeyEqual, Allocator>;
30 
31 } // namespace metall::container
32 
33 #endif // METALL_CONTAINER_UNORDERED_SET_HPP
Namespace for Metall container.
boost::unordered_set< Key, Hash, KeyEqual, Allocator > unordered_set
An unordered_set container that uses Metall as its default allocator.
Definition: unordered_set.hpp:21
boost::unordered_multiset< Key, Hash, KeyEqual, Allocator > unordered_multiset
An unordered_multiset container that uses Metall as its default allocator.
Definition: unordered_set.hpp:29