File indexing completed on 2025-07-05 08:50:23
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef BOOST_UNORDERED_CONCURRENT_FLAT_MAP_FWD_HPP
0013 #define BOOST_UNORDERED_CONCURRENT_FLAT_MAP_FWD_HPP
0014
0015 #include <boost/config.hpp>
0016 #include <boost/container_hash/hash_fwd.hpp>
0017
0018 #include <functional>
0019 #include <memory>
0020
0021 #ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE
0022 #include <memory_resource>
0023 #endif
0024
0025 namespace boost {
0026 namespace unordered {
0027
0028 template <class Key, class T, class Hash = boost::hash<Key>,
0029 class Pred = std::equal_to<Key>,
0030 class Allocator = std::allocator<std::pair<Key const, T> > >
0031 class concurrent_flat_map;
0032
0033 template <class Key, class T, class Hash, class KeyEqual, class Allocator>
0034 bool operator==(
0035 concurrent_flat_map<Key, T, Hash, KeyEqual, Allocator> const& lhs,
0036 concurrent_flat_map<Key, T, Hash, KeyEqual, Allocator> const& rhs);
0037
0038 template <class Key, class T, class Hash, class KeyEqual, class Allocator>
0039 bool operator!=(
0040 concurrent_flat_map<Key, T, Hash, KeyEqual, Allocator> const& lhs,
0041 concurrent_flat_map<Key, T, Hash, KeyEqual, Allocator> const& rhs);
0042
0043 template <class Key, class T, class Hash, class Pred, class Alloc>
0044 void swap(concurrent_flat_map<Key, T, Hash, Pred, Alloc>& x,
0045 concurrent_flat_map<Key, T, Hash, Pred, Alloc>& y)
0046 noexcept(noexcept(x.swap(y)));
0047
0048 template <class K, class T, class H, class P, class A, class Predicate>
0049 typename concurrent_flat_map<K, T, H, P, A>::size_type erase_if(
0050 concurrent_flat_map<K, T, H, P, A>& c, Predicate pred);
0051
0052 #ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE
0053 namespace pmr {
0054 template <class Key, class T, class Hash = boost::hash<Key>,
0055 class Pred = std::equal_to<Key> >
0056 using concurrent_flat_map = boost::unordered::concurrent_flat_map<Key, T,
0057 Hash, Pred, std::pmr::polymorphic_allocator<std::pair<Key const, T> > >;
0058 }
0059 #endif
0060
0061 }
0062
0063 using boost::unordered::concurrent_flat_map;
0064 }
0065
0066 #endif