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 19 namespace 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