Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:01:56

0001 /* Fast open-addressing concurrent hashmap.
0002  *
0003  * Copyright 2023 Christian Mazakas.
0004  * Distributed under the Boost Software License, Version 1.0.
0005  * (See accompanying file LICENSE_1_0.txt or copy at
0006  * http://www.boost.org/LICENSE_1_0.txt)
0007  *
0008  * See https://www.boost.org/libs/unordered for library home page.
0009  */
0010 
0011 #ifndef BOOST_UNORDERED_CONCURRENT_FLAT_MAP_FWD_HPP
0012 #define BOOST_UNORDERED_CONCURRENT_FLAT_MAP_FWD_HPP
0013 
0014 #include <boost/container_hash/hash_fwd.hpp>
0015 
0016 #include <functional>
0017 #include <memory>
0018 
0019 namespace boost {
0020   namespace unordered {
0021 
0022     template <class Key, class T, class Hash = boost::hash<Key>,
0023       class Pred = std::equal_to<Key>,
0024       class Allocator = std::allocator<std::pair<Key const, T> > >
0025     class concurrent_flat_map;
0026 
0027     template <class Key, class T, class Hash, class KeyEqual, class Allocator>
0028     bool operator==(
0029       concurrent_flat_map<Key, T, Hash, KeyEqual, Allocator> const& lhs,
0030       concurrent_flat_map<Key, T, Hash, KeyEqual, Allocator> const& rhs);
0031 
0032     template <class Key, class T, class Hash, class KeyEqual, class Allocator>
0033     bool operator!=(
0034       concurrent_flat_map<Key, T, Hash, KeyEqual, Allocator> const& lhs,
0035       concurrent_flat_map<Key, T, Hash, KeyEqual, Allocator> const& rhs);
0036 
0037     template <class Key, class T, class Hash, class Pred, class Alloc>
0038     void swap(concurrent_flat_map<Key, T, Hash, Pred, Alloc>& x,
0039       concurrent_flat_map<Key, T, Hash, Pred, Alloc>& y)
0040       noexcept(noexcept(x.swap(y)));
0041 
0042     template <class K, class T, class H, class P, class A, class Predicate>
0043     typename concurrent_flat_map<K, T, H, P, A>::size_type erase_if(
0044       concurrent_flat_map<K, T, H, P, A>& c, Predicate pred);
0045 
0046   } // namespace unordered
0047 
0048   using boost::unordered::concurrent_flat_map;
0049 } // namespace boost
0050 
0051 #endif // BOOST_UNORDERED_CONCURRENT_FLAT_MAP_HPP