unordered_set 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. // -*- C++ -*-
  2. //===------------------------- unordered_set ------------------------------===//
  3. //
  4. // The LLVM Compiler Infrastructure
  5. //
  6. // This file is dual licensed under the MIT and the University of Illinois Open
  7. // Source Licenses. See LICENSE.TXT for details.
  8. //
  9. //===----------------------------------------------------------------------===//
  10. #ifndef _LIBCPP_EXPERIMENTAL_UNORDERED_SET
  11. #define _LIBCPP_EXPERIMENTAL_UNORDERED_SET
  12. /*
  13. experimental/unordered_set synopsis
  14. // C++1z
  15. namespace std {
  16. namespace experimental {
  17. inline namespace fundamentals_v1 {
  18. namespace pmr {
  19. template <class T, class Hash = hash<T>, class Pred = equal_to<T>>
  20. using unordered_set = std::unordered_set<T, Hash, Pred,
  21. polymorphic_allocator<T>>;
  22. template <class T, class Hash = hash<T>, class Pred = equal_to<T>>
  23. using unordered_multiset = std::unordered_multiset<T, Hash, Pred,
  24. polymorphic_allocator<T>>;
  25. } // namespace pmr
  26. } // namespace fundamentals_v1
  27. } // namespace experimental
  28. } // namespace std
  29. */
  30. #include <experimental/__config>
  31. #include <unordered_set>
  32. #include <experimental/memory_resource>
  33. #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
  34. #pragma GCC system_header
  35. #endif
  36. _LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
  37. template <class _Value,
  38. class _Hash = hash<_Value>, class _Pred = equal_to<_Value>>
  39. using unordered_set = _VSTD::unordered_set<_Value, _Hash, _Pred,
  40. polymorphic_allocator<_Value>>;
  41. template <class _Value,
  42. class _Hash = hash<_Value>, class _Pred = equal_to<_Value>>
  43. using unordered_multiset = _VSTD::unordered_multiset<_Value, _Hash, _Pred,
  44. polymorphic_allocator<_Value>>;
  45. _LIBCPP_END_NAMESPACE_LFTS_PMR
  46. #endif /* _LIBCPP_EXPERIMENTAL_UNORDERED_SET */