1*7c82a1ecSDimitry Andric// -*- C++ -*- 2*7c82a1ecSDimitry Andric//===------------------------- unordered_map ------------------------------===// 3*7c82a1ecSDimitry Andric// 4*7c82a1ecSDimitry Andric// The LLVM Compiler Infrastructure 5*7c82a1ecSDimitry Andric// 6*7c82a1ecSDimitry Andric// This file is dual licensed under the MIT and the University of Illinois Open 7*7c82a1ecSDimitry Andric// Source Licenses. See LICENSE.TXT for details. 8*7c82a1ecSDimitry Andric// 9*7c82a1ecSDimitry Andric//===----------------------------------------------------------------------===// 10*7c82a1ecSDimitry Andric 11*7c82a1ecSDimitry Andric#ifndef _LIBCPP_EXPERIMENTAL_UNORDERED_MAP 12*7c82a1ecSDimitry Andric#define _LIBCPP_EXPERIMENTAL_UNORDERED_MAP 13*7c82a1ecSDimitry Andric/* 14*7c82a1ecSDimitry Andric experimental/unordered_map synopsis 15*7c82a1ecSDimitry Andric 16*7c82a1ecSDimitry Andric// C++1z 17*7c82a1ecSDimitry Andricnamespace std { 18*7c82a1ecSDimitry Andricnamespace experimental { 19*7c82a1ecSDimitry Andricinline namespace fundamentals_v1 { 20*7c82a1ecSDimitry Andricnamespace pmr { 21*7c82a1ecSDimitry Andric 22*7c82a1ecSDimitry Andric template <class Key, class T, 23*7c82a1ecSDimitry Andric class Hash = hash<Key>, 24*7c82a1ecSDimitry Andric class Pred = equal_to<Key>> 25*7c82a1ecSDimitry Andric using unordered_map = 26*7c82a1ecSDimitry Andric std::unordered_map<Key, T, Hash, Pred, 27*7c82a1ecSDimitry Andric polymorphic_allocator<pair<const Key,T>>>; 28*7c82a1ecSDimitry Andric 29*7c82a1ecSDimitry Andric template <class Key, class T, 30*7c82a1ecSDimitry Andric class Hash = hash<Key>, 31*7c82a1ecSDimitry Andric class Pred = equal_to<Key>> 32*7c82a1ecSDimitry Andric using unordered_multimap = 33*7c82a1ecSDimitry Andric std::unordered_multimap<Key, T, Hash, Pred, 34*7c82a1ecSDimitry Andric polymorphic_allocator<pair<const Key,T>>>; 35*7c82a1ecSDimitry Andric 36*7c82a1ecSDimitry Andric} // namespace pmr 37*7c82a1ecSDimitry Andric} // namespace fundamentals_v1 38*7c82a1ecSDimitry Andric} // namespace experimental 39*7c82a1ecSDimitry Andric} // namespace std 40*7c82a1ecSDimitry Andric 41*7c82a1ecSDimitry Andric */ 42*7c82a1ecSDimitry Andric 43*7c82a1ecSDimitry Andric#include <experimental/__config> 44*7c82a1ecSDimitry Andric#include <unordered_map> 45*7c82a1ecSDimitry Andric#include <experimental/memory_resource> 46*7c82a1ecSDimitry Andric 47*7c82a1ecSDimitry Andric#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 48*7c82a1ecSDimitry Andric#pragma GCC system_header 49*7c82a1ecSDimitry Andric#endif 50*7c82a1ecSDimitry Andric 51*7c82a1ecSDimitry Andric_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR 52*7c82a1ecSDimitry Andric 53*7c82a1ecSDimitry Andrictemplate <class _Key, class _Value, 54*7c82a1ecSDimitry Andric class _Hash = hash<_Key>, class _Pred = equal_to<_Key>> 55*7c82a1ecSDimitry Andricusing unordered_map = _VSTD::unordered_map<_Key, _Value, _Hash, _Pred, 56*7c82a1ecSDimitry Andric polymorphic_allocator<pair<const _Key, _Value>>>; 57*7c82a1ecSDimitry Andric 58*7c82a1ecSDimitry Andrictemplate <class _Key, class _Value, 59*7c82a1ecSDimitry Andric class _Hash = hash<_Key>, class _Pred = equal_to<_Key>> 60*7c82a1ecSDimitry Andricusing unordered_multimap = _VSTD::unordered_multimap<_Key, _Value, _Hash, _Pred, 61*7c82a1ecSDimitry Andric polymorphic_allocator<pair<const _Key, _Value>>>; 62*7c82a1ecSDimitry Andric 63*7c82a1ecSDimitry Andric_LIBCPP_END_NAMESPACE_LFTS_PMR 64*7c82a1ecSDimitry Andric 65*7c82a1ecSDimitry Andric#endif /* _LIBCPP_EXPERIMENTAL_UNORDERED_MAP */ 66