/* Fast open-addressing, node-based concurrent hashmap. * * Copyright 2023 Christian Mazakas. * Copyright 2024 Braden Ganetsky. * Copyright 2024 Joaquin M Lopez Munoz. * Distributed under the Boost Software License, Version 1.0. * (See accompanying file LICENSE_1_0.txt or copy at * http://www.boost.org/LICENSE_1_0.txt) * * See https://www.boost.org/libs/unordered for library home page. */ #ifndef BOOST_UNORDERED_CONCURRENT_NODE_MAP_FWD_HPP #define BOOST_UNORDERED_CONCURRENT_NODE_MAP_FWD_HPP #include #include #include #include #ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE #include #endif namespace boost { namespace unordered { template , class Pred = std::equal_to, class Allocator = std::allocator > > class concurrent_node_map; template bool operator==( concurrent_node_map const& lhs, concurrent_node_map const& rhs); template bool operator!=( concurrent_node_map const& lhs, concurrent_node_map const& rhs); template void swap(concurrent_node_map& x, concurrent_node_map& y) noexcept(noexcept(x.swap(y))); template typename concurrent_node_map::size_type erase_if( concurrent_node_map& c, Predicate pred); #ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE namespace pmr { template , class Pred = std::equal_to > using concurrent_node_map = boost::unordered::concurrent_node_map > >; } // namespace pmr #endif } // namespace unordered using boost::unordered::concurrent_node_map; } // namespace boost #endif // BOOST_UNORDERED_CONCURRENT_NODE_MAP_FWD_HPP