unordered_flat_set_fwd.hpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Copyright (C) 2022 Christian Mazakas
  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_FLAT_SET_FWD_HPP_INCLUDED
  5. #define BOOST_UNORDERED_FLAT_SET_FWD_HPP_INCLUDED
  6. #include <boost/config.hpp>
  7. #if defined(BOOST_HAS_PRAGMA_ONCE)
  8. #pragma once
  9. #endif
  10. #include <boost/container_hash/hash_fwd.hpp>
  11. #include <functional>
  12. #include <memory>
  13. namespace boost {
  14. namespace unordered {
  15. template <class Key, class Hash = boost::hash<Key>,
  16. class KeyEqual = std::equal_to<Key>,
  17. class Allocator = std::allocator<Key> >
  18. class unordered_flat_set;
  19. template <class Key, class Hash, class KeyEqual, class Allocator>
  20. bool operator==(
  21. unordered_flat_set<Key, Hash, KeyEqual, Allocator> const& lhs,
  22. unordered_flat_set<Key, Hash, KeyEqual, Allocator> const& rhs);
  23. template <class Key, class Hash, class KeyEqual, class Allocator>
  24. bool operator!=(
  25. unordered_flat_set<Key, Hash, KeyEqual, Allocator> const& lhs,
  26. unordered_flat_set<Key, Hash, KeyEqual, Allocator> const& rhs);
  27. template <class Key, class Hash, class KeyEqual, class Allocator>
  28. void swap(unordered_flat_set<Key, Hash, KeyEqual, Allocator>& lhs,
  29. unordered_flat_set<Key, Hash, KeyEqual, Allocator>& rhs)
  30. noexcept(noexcept(lhs.swap(rhs)));
  31. } // namespace unordered
  32. using boost::unordered::unordered_flat_set;
  33. } // namespace boost
  34. #endif