unordered_map_fwd.hpp 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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_MAP_FWD_HPP_INCLUDED
  5. #define BOOST_UNORDERED_MAP_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 K,
  19. class T,
  20. class H = boost::hash<K>,
  21. class P = std::equal_to<K>,
  22. class A = std::allocator<std::pair<const K, T> > >
  23. class unordered_map;
  24. template <class K, class T, class H, class P, class A>
  25. inline bool operator==(unordered_map<K, T, H, P, A> const&,
  26. unordered_map<K, T, H, P, A> const&);
  27. template <class K, class T, class H, class P, class A>
  28. inline bool operator!=(unordered_map<K, T, H, P, A> const&,
  29. unordered_map<K, T, H, P, A> const&);
  30. template <class K, class T, class H, class P, class A>
  31. inline void swap(unordered_map<K, T, H, P, A>&,
  32. unordered_map<K, T, H, P, A>&);
  33. template <class K,
  34. class T,
  35. class H = boost::hash<K>,
  36. class P = std::equal_to<K>,
  37. class A = std::allocator<std::pair<const K, T> > >
  38. class unordered_multimap;
  39. template <class K, class T, class H, class P, class A>
  40. inline bool operator==(unordered_multimap<K, T, H, P, A> const&,
  41. unordered_multimap<K, T, H, P, A> const&);
  42. template <class K, class T, class H, class P, class A>
  43. inline bool operator!=(unordered_multimap<K, T, H, P, A> const&,
  44. unordered_multimap<K, T, H, P, A> const&);
  45. template <class K, class T, class H, class P, class A>
  46. inline void swap(unordered_multimap<K, T, H, P, A>&,
  47. unordered_multimap<K, T, H, P, A>&);
  48. }
  49. using boost::unordered::unordered_map;
  50. using boost::unordered::unordered_multimap;
  51. using boost::unordered::swap;
  52. using boost::unordered::operator==;
  53. using boost::unordered::operator!=;
  54. }
  55. #endif