1522a7f95SEric Fiselier// -*- C++ -*- 2eb8650a7SLouis Dionne//===----------------------------------------------------------------------===// 3522a7f95SEric Fiselier// 457b08b09SChandler Carruth// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 557b08b09SChandler Carruth// See https://llvm.org/LICENSE.txt for license information. 657b08b09SChandler Carruth// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7522a7f95SEric Fiselier// 8522a7f95SEric Fiselier//===----------------------------------------------------------------------===// 9522a7f95SEric Fiselier 10522a7f95SEric Fiselier#ifndef _LIBCPP_EXPERIMENTAL_UNORDERED_MAP 11522a7f95SEric Fiselier#define _LIBCPP_EXPERIMENTAL_UNORDERED_MAP 12385cc25aSLouis Dionne 13522a7f95SEric Fiselier/* 14522a7f95SEric Fiselier experimental/unordered_map synopsis 15522a7f95SEric Fiselier 16522a7f95SEric Fiselier// C++1z 17522a7f95SEric Fiseliernamespace std { 18522a7f95SEric Fiseliernamespace experimental { 19522a7f95SEric Fiselierinline namespace fundamentals_v1 { 20522a7f95SEric Fiseliernamespace pmr { 21522a7f95SEric Fiselier 22522a7f95SEric Fiselier template <class Key, class T, 23522a7f95SEric Fiselier class Hash = hash<Key>, 24522a7f95SEric Fiselier class Pred = equal_to<Key>> 25522a7f95SEric Fiselier using unordered_map = 26522a7f95SEric Fiselier std::unordered_map<Key, T, Hash, Pred, 27522a7f95SEric Fiselier polymorphic_allocator<pair<const Key,T>>>; 28522a7f95SEric Fiselier 29522a7f95SEric Fiselier template <class Key, class T, 30522a7f95SEric Fiselier class Hash = hash<Key>, 31522a7f95SEric Fiselier class Pred = equal_to<Key>> 32522a7f95SEric Fiselier using unordered_multimap = 33522a7f95SEric Fiselier std::unordered_multimap<Key, T, Hash, Pred, 34522a7f95SEric Fiselier polymorphic_allocator<pair<const Key,T>>>; 35522a7f95SEric Fiselier 36522a7f95SEric Fiselier} // namespace pmr 37522a7f95SEric Fiselier} // namespace fundamentals_v1 38522a7f95SEric Fiselier} // namespace experimental 39522a7f95SEric Fiselier} // namespace std 40522a7f95SEric Fiselier 41522a7f95SEric Fiselier */ 42522a7f95SEric Fiselier 43385cc25aSLouis Dionne#include <__assert> // all public C++ headers provide the assertion handler 44522a7f95SEric Fiselier#include <experimental/__config> 45522a7f95SEric Fiselier#include <experimental/memory_resource> 464d81a46fSArthur O'Dwyer#include <unordered_map> 47522a7f95SEric Fiselier 48*de4a57cbSLouis Dionne#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES 49*de4a57cbSLouis Dionne# include <algorithm> 50*de4a57cbSLouis Dionne# include <array> 51*de4a57cbSLouis Dionne# include <bit> 52*de4a57cbSLouis Dionne# include <functional> 53*de4a57cbSLouis Dionne# include <vector> 54*de4a57cbSLouis Dionne#endif 55*de4a57cbSLouis Dionne 56522a7f95SEric Fiselier#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 57522a7f95SEric Fiselier# pragma GCC system_header 58522a7f95SEric Fiselier#endif 59522a7f95SEric Fiselier 60522a7f95SEric Fiselier_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR 61522a7f95SEric Fiselier 62522a7f95SEric Fiseliertemplate <class _Key, class _Value, 63522a7f95SEric Fiselier class _Hash = hash<_Key>, class _Pred = equal_to<_Key>> 64522a7f95SEric Fiselierusing unordered_map = _VSTD::unordered_map<_Key, _Value, _Hash, _Pred, 65522a7f95SEric Fiselier polymorphic_allocator<pair<const _Key, _Value>>>; 66522a7f95SEric Fiselier 67522a7f95SEric Fiseliertemplate <class _Key, class _Value, 68522a7f95SEric Fiselier class _Hash = hash<_Key>, class _Pred = equal_to<_Key>> 69522a7f95SEric Fiselierusing unordered_multimap = _VSTD::unordered_multimap<_Key, _Value, _Hash, _Pred, 70522a7f95SEric Fiselier polymorphic_allocator<pair<const _Key, _Value>>>; 71522a7f95SEric Fiselier 72522a7f95SEric Fiselier_LIBCPP_END_NAMESPACE_LFTS_PMR 73522a7f95SEric Fiselier 74522a7f95SEric Fiselier#endif /* _LIBCPP_EXPERIMENTAL_UNORDERED_MAP */ 75