// Copyright (C) 2008-2011 Daniel James. // Copyright (C) 2022 Christian Mazakas // Copyright (C) 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) #ifndef BOOST_UNORDERED_SET_FWD_HPP_INCLUDED #define BOOST_UNORDERED_SET_FWD_HPP_INCLUDED #include #if defined(BOOST_HAS_PRAGMA_ONCE) #pragma once #endif #include #include #include #ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE #include #endif namespace boost { namespace unordered { template , class P = std::equal_to, class A = std::allocator > class unordered_set; template inline bool operator==( unordered_set const&, unordered_set const&); template inline bool operator!=( unordered_set const&, unordered_set const&); template inline void swap(unordered_set& m1, unordered_set& m2) noexcept(noexcept(m1.swap(m2))); template typename unordered_set::size_type erase_if( unordered_set& c, Predicate pred); template , class P = std::equal_to, class A = std::allocator > class unordered_multiset; template inline bool operator==(unordered_multiset const&, unordered_multiset const&); template inline bool operator!=(unordered_multiset const&, unordered_multiset const&); template inline void swap(unordered_multiset& m1, unordered_multiset& m2) noexcept(noexcept(m1.swap(m2))); template typename unordered_multiset::size_type erase_if( unordered_multiset& c, Predicate pred); template class node_handle_set; template struct insert_return_type_set; #ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE namespace pmr { template , class P = std::equal_to > using unordered_set = boost::unordered::unordered_set >; template , class P = std::equal_to > using unordered_multiset = boost::unordered::unordered_multiset >; } // namespace pmr #endif } // namespace unordered using boost::unordered::unordered_multiset; using boost::unordered::unordered_set; } // namespace boost #endif