// Copyright (C) 2008-2011 Daniel James. // Copyright (C) 2022-2023 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_MAP_FWD_HPP_INCLUDED #define BOOST_UNORDERED_MAP_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_map; template inline bool operator==( unordered_map const&, unordered_map const&); template inline bool operator!=( unordered_map const&, unordered_map const&); template inline void swap(unordered_map& m1, unordered_map& m2) noexcept(noexcept(m1.swap(m2))); template typename unordered_map::size_type erase_if( unordered_map& c, Predicate pred); template , class P = std::equal_to, class A = std::allocator > > class unordered_multimap; template inline bool operator==(unordered_multimap const&, unordered_multimap const&); template inline bool operator!=(unordered_multimap const&, unordered_multimap const&); template inline void swap(unordered_multimap& m1, unordered_multimap& m2) noexcept(noexcept(m1.swap(m2))); template typename unordered_multimap::size_type erase_if( unordered_multimap& c, Predicate pred); template class node_handle_map; template struct insert_return_type_map; #ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE namespace pmr { template , class P = std::equal_to > using unordered_map = boost::unordered::unordered_map > >; template , class P = std::equal_to > using unordered_multimap = boost::unordered::unordered_multimap > >; } // namespace pmr #endif } // namespace unordered using boost::unordered::unordered_map; using boost::unordered::unordered_multimap; } // namespace boost #endif