1/* Fast open-addressing concurrent hashset.
2 *
3 * Copyright 2023 Christian Mazakas.
4 * Copyright 2023 Joaquin M Lopez Munoz.
5 * Distributed under the Boost Software License, Version 1.0.
6 * (See accompanying file LICENSE_1_0.txt or copy at
7 * http://www.boost.org/LICENSE_1_0.txt)
8 *
9 * See https://www.boost.org/libs/unordered for library home page.
10 */
11
12#ifndef BOOST_UNORDERED_CONCURRENT_FLAT_SET_FWD_HPP
13#define BOOST_UNORDERED_CONCURRENT_FLAT_SET_FWD_HPP
14
15#include <boost/container_hash/hash_fwd.hpp>
16
17#include <functional>
18#include <memory>
19
20namespace boost {
21 namespace unordered {
22
23 template <class Key, class Hash = boost::hash<Key>,
24 class Pred = std::equal_to<Key>,
25 class Allocator = std::allocator<Key> >
26 class concurrent_flat_set;
27
28 template <class Key, class Hash, class KeyEqual, class Allocator>
29 bool operator==(
30 concurrent_flat_set<Key, Hash, KeyEqual, Allocator> const& lhs,
31 concurrent_flat_set<Key, Hash, KeyEqual, Allocator> const& rhs);
32
33 template <class Key, class Hash, class KeyEqual, class Allocator>
34 bool operator!=(
35 concurrent_flat_set<Key, Hash, KeyEqual, Allocator> const& lhs,
36 concurrent_flat_set<Key, Hash, KeyEqual, Allocator> const& rhs);
37
38 template <class Key, class Hash, class Pred, class Alloc>
39 void swap(concurrent_flat_set<Key, Hash, Pred, Alloc>& x,
40 concurrent_flat_set<Key, Hash, Pred, Alloc>& y)
41 noexcept(noexcept(x.swap(y)));
42
43 template <class K, class H, class P, class A, class Predicate>
44 typename concurrent_flat_set<K, H, P, A>::size_type erase_if(
45 concurrent_flat_set<K, H, P, A>& c, Predicate pred);
46
47 } // namespace unordered
48
49 using boost::unordered::concurrent_flat_set;
50} // namespace boost
51
52#endif // BOOST_UNORDERED_CONCURRENT_FLAT_SET_FWD_HPP
53

source code of boost/libs/unordered/include/boost/unordered/concurrent_flat_set_fwd.hpp