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_SET_FWD_HPP_INCLUDED 7 #define BOOST_UNORDERED_SET_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 T, 24 class H = boost::hash<T>, 25 class P = std::equal_to<T>, 26 class A = std::allocator<T> > 27 class unordered_set; 28 29 template <class T, class H, class P, class A> 30 inline bool operator==(unordered_set<T, H, P, A> const&, 31 unordered_set<T, H, P, A> const&); 32 template <class T, class H, class P, class A> 33 inline bool operator!=(unordered_set<T, H, P, A> const&, 34 unordered_set<T, H, P, A> const&); 35 template <class T, class H, class P, class A> 36 inline void swap(unordered_set<T, H, P, A> &m1, 37 unordered_set<T, H, P, A> &m2); 38 39 template <class T, 40 class H = boost::hash<T>, 41 class P = std::equal_to<T>, 42 class A = std::allocator<T> > 43 class unordered_multiset; 44 45 template <class T, class H, class P, class A> 46 inline bool operator==(unordered_multiset<T, H, P, A> const&, 47 unordered_multiset<T, H, P, A> const&); 48 template <class T, class H, class P, class A> 49 inline bool operator!=(unordered_multiset<T, H, P, A> const&, 50 unordered_multiset<T, H, P, A> const&); 51 template <class T, class H, class P, class A> 52 inline void swap(unordered_multiset<T, H, P, A> &m1, 53 unordered_multiset<T, H, P, A> &m2); 54 } 55 56 using boost::unordered::unordered_set; 57 using boost::unordered::unordered_multiset; 58 using boost::unordered::swap; 59 using boost::unordered::operator==; 60 using boost::unordered::operator!=; 61 } 62 63 #endif 64