Metall  v0.29
A persistent memory allocator for data-centric analytics
unordered_flat_set.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_FLAT_SET_HPP
7 #define METALL_CONTAINER_UNORDERED_FLAT_SET_HPP
8 
9 #include <functional>
10 
11 static_assert(BOOST_VERSION >= 108100, "Unsupported Boost version");
12 #include <boost/unordered/unordered_flat_set.hpp>
13 
14 #include <metall/metall.hpp>
15 
16 namespace metall::container {
17 
20 template <class Key, class Hash = std::hash<Key>,
21  class KeyEqual = std::equal_to<Key>,
22  class Allocator = manager::allocator_type<Key>>
24  boost::unordered_flat_set<Key, Hash, KeyEqual, Allocator>;
25 
26 } // namespace metall::container
27 
28 #endif // METALL_CONTAINER_UNORDERED_FLAT_SET_HPP
Namespace for Metall container.
boost::unordered_flat_set< Key, Hash, KeyEqual, Allocator > unordered_flat_set
An unordered_flat_set container that uses Metall as its default allocator.
Definition: unordered_flat_set.hpp:24