1
2// Copyright (C) 2008-2011 Daniel James.
3// Copyright (C) 2022-2023 Christian Mazakas
4// Distributed under the Boost Software License, Version 1.0. (See accompanying
5// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
7#ifndef BOOST_UNORDERED_MAP_FWD_HPP_INCLUDED
8#define BOOST_UNORDERED_MAP_FWD_HPP_INCLUDED
9
10#include <boost/config.hpp>
11#if defined(BOOST_HAS_PRAGMA_ONCE)
12#pragma once
13#endif
14
15#include <boost/container_hash/hash_fwd.hpp>
16#include <functional>
17#include <memory>
18
19namespace boost {
20 namespace unordered {
21 template <class K, class T, class H = boost::hash<K>,
22 class P = std::equal_to<K>,
23 class A = std::allocator<std::pair<const K, T> > >
24 class unordered_map;
25
26 template <class K, class T, class H, class P, class A>
27 inline bool operator==(
28 unordered_map<K, T, H, P, A> const&, unordered_map<K, T, H, P, A> const&);
29 template <class K, class T, class H, class P, class A>
30 inline bool operator!=(
31 unordered_map<K, T, H, P, A> const&, unordered_map<K, T, H, P, A> const&);
32 template <class K, class T, class H, class P, class A>
33 inline void swap(unordered_map<K, T, H, P, A>& m1,
34 unordered_map<K, T, H, P, A>& m2) noexcept(noexcept(m1.swap(m2)));
35
36 template <class K, class T, class H, class P, class A, class Predicate>
37 typename unordered_map<K, T, H, P, A>::size_type erase_if(
38 unordered_map<K, T, H, P, A>& c, Predicate pred);
39
40 template <class K, class T, class H = boost::hash<K>,
41 class P = std::equal_to<K>,
42 class A = std::allocator<std::pair<const K, T> > >
43 class unordered_multimap;
44
45 template <class K, class T, class H, class P, class A>
46 inline bool operator==(unordered_multimap<K, T, H, P, A> const&,
47 unordered_multimap<K, T, H, P, A> const&);
48 template <class K, class T, class H, class P, class A>
49 inline bool operator!=(unordered_multimap<K, T, H, P, A> const&,
50 unordered_multimap<K, T, H, P, A> const&);
51 template <class K, class T, class H, class P, class A>
52 inline void swap(unordered_multimap<K, T, H, P, A>& m1,
53 unordered_multimap<K, T, H, P, A>& m2) noexcept(noexcept(m1.swap(m2)));
54
55 template <class K, class T, class H, class P, class A, class Predicate>
56 typename unordered_multimap<K, T, H, P, A>::size_type erase_if(
57 unordered_multimap<K, T, H, P, A>& c, Predicate pred);
58
59 template <class N, class K, class T, class A> class node_handle_map;
60 template <class Iter, class NodeType> struct insert_return_type_map;
61 } // namespace unordered
62
63 using boost::unordered::unordered_map;
64 using boost::unordered::unordered_multimap;
65} // namespace boost
66
67#endif
68

source code of boost/libs/unordered/include/boost/unordered/unordered_map_fwd.hpp