unordered_set_fwd.hpp 2.1 KB

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