concurrent_flat_map_fwd.hpp 1.8 KB

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