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#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES 49# include <algorithm> 50# include <array> 51# include <bit> 52# include <functional> 53# include <vector> 54#endif 55 56#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 57# pragma GCC system_header 58#endif 59 60_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR 61 62template <class _Key, class _Value, 63 class _Hash = hash<_Key>, class _Pred = equal_to<_Key>> 64using unordered_map = _VSTD::unordered_map<_Key, _Value, _Hash, _Pred, 65 polymorphic_allocator<pair<const _Key, _Value>>>; 66 67template <class _Key, class _Value, 68 class _Hash = hash<_Key>, class _Pred = equal_to<_Key>> 69using unordered_multimap = _VSTD::unordered_multimap<_Key, _Value, _Hash, _Pred, 70 polymorphic_allocator<pair<const _Key, _Value>>>; 71 72_LIBCPP_END_NAMESPACE_LFTS_PMR 73 74#endif /* _LIBCPP_EXPERIMENTAL_UNORDERED_MAP */ 75