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