/* Fast open-addressing, node-based concurrent hashset. * * Copyright 2023 Christian Mazakas. * Copyright 2023-2024 Joaquin M Lopez Munoz. * Copyright 2024 Braden Ganetsky. * 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_SET_FWD_HPP #define BOOST_UNORDERED_CONCURRENT_NODE_SET_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_set; template bool operator==( concurrent_node_set const& lhs, concurrent_node_set const& rhs); template bool operator!=( concurrent_node_set const& lhs, concurrent_node_set const& rhs); template void swap(concurrent_node_set& x, concurrent_node_set& y) noexcept(noexcept(x.swap(y))); template typename concurrent_node_set::size_type erase_if( concurrent_node_set& c, Predicate pred); #ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE namespace pmr { template , class Pred = std::equal_to > using concurrent_node_set = boost::unordered::concurrent_node_set >; } // namespace pmr #endif } // namespace unordered using boost::unordered::concurrent_node_set; } // namespace boost #endif // BOOST_UNORDERED_CONCURRENT_NODE_SET_FWD_HPP