1// -*- C++ -*- 2//===----------------------------------------------------------------------===// 3// 4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5// See https://llvm.org/LICENSE.txt for license information. 6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef _LIBCPP_EXPERIMENTAL_UNORDERED_MAP 11#define _LIBCPP_EXPERIMENTAL_UNORDERED_MAP 12 13/* 14 experimental/unordered_map synopsis 15 16// C++1z 17namespace std { 18namespace experimental { 19inline namespace fundamentals_v1 { 20namespace pmr { 21 22 template <class Key, class T, 23 class Hash = hash<Key>, 24 class Pred = equal_to<Key>> 25 using unordered_map = 26 std::unordered_map<Key, T, Hash, Pred, 27 polymorphic_allocator<pair<const Key,T>>>; 28 29 template <class Key, class T, 30 class Hash = hash<Key>, 31 class Pred = equal_to<Key>> 32 using unordered_multimap = 33 std::unordered_multimap<Key, T, Hash, Pred, 34 polymorphic_allocator<pair<const Key,T>>>; 35 36} // namespace pmr 37} // namespace fundamentals_v1 38} // namespace experimental 39} // namespace std 40 41 */ 42 43#include <__assert> // all public C++ headers provide the assertion handler 44#include <experimental/__config> 45#include <experimental/memory_resource> 46#include <unordered_map> 47 48#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 49# pragma GCC system_header 50#endif 51 52_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR 53 54#ifndef _LIBCPP_CXX03_LANG 55 56template <class _Key, class _Value, 57 class _Hash = hash<_Key>, class _Pred = equal_to<_Key>> 58using unordered_map = _VSTD::unordered_map<_Key, _Value, _Hash, _Pred, 59 polymorphic_allocator<pair<const _Key, _Value>>>; 60 61template <class _Key, class _Value, 62 class _Hash = hash<_Key>, class _Pred = equal_to<_Key>> 63using unordered_multimap = _VSTD::unordered_multimap<_Key, _Value, _Hash, _Pred, 64 polymorphic_allocator<pair<const _Key, _Value>>>; 65 66#endif // _LIBCPP_CXX03_LANG 67 68_LIBCPP_END_NAMESPACE_LFTS_PMR 69 70#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20 71# include <algorithm> 72# include <array> 73# include <bit> 74# include <functional> 75# include <vector> 76#endif 77 78#endif /* _LIBCPP_EXPERIMENTAL_UNORDERED_MAP */ 79