1*7c82a1ecSDimitry Andric// -*- C++ -*-
2*7c82a1ecSDimitry Andric//===----------------------------- 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_MAP
12*7c82a1ecSDimitry Andric#define _LIBCPP_EXPERIMENTAL_MAP
13*7c82a1ecSDimitry Andric/*
14*7c82a1ecSDimitry Andric    experimental/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, class Compare = less<Key>>
23*7c82a1ecSDimitry Andric  using map = std::map<Key, T, Compare,
24*7c82a1ecSDimitry Andric                       polymorphic_allocator<pair<const Key,T>>>;
25*7c82a1ecSDimitry Andric
26*7c82a1ecSDimitry Andric  template <class Key, class T, class Compare = less<Key>>
27*7c82a1ecSDimitry Andric  using multimap = std::multimap<Key, T, Compare,
28*7c82a1ecSDimitry Andric                                 polymorphic_allocator<pair<const Key,T>>>;
29*7c82a1ecSDimitry Andric
30*7c82a1ecSDimitry Andric} // namespace pmr
31*7c82a1ecSDimitry Andric} // namespace fundamentals_v1
32*7c82a1ecSDimitry Andric} // namespace experimental
33*7c82a1ecSDimitry Andric} // namespace std
34*7c82a1ecSDimitry Andric
35*7c82a1ecSDimitry Andric */
36*7c82a1ecSDimitry Andric
37*7c82a1ecSDimitry Andric#include <experimental/__config>
38*7c82a1ecSDimitry Andric#include <map>
39*7c82a1ecSDimitry Andric#include <experimental/memory_resource>
40*7c82a1ecSDimitry Andric
41*7c82a1ecSDimitry Andric#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
42*7c82a1ecSDimitry Andric#pragma GCC system_header
43*7c82a1ecSDimitry Andric#endif
44*7c82a1ecSDimitry Andric
45*7c82a1ecSDimitry Andric_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
46*7c82a1ecSDimitry Andric
47*7c82a1ecSDimitry Andrictemplate <class _Key, class _Value, class  _Compare = less<_Key>>
48*7c82a1ecSDimitry Andricusing map = _VSTD::map<_Key, _Value, _Compare,
49*7c82a1ecSDimitry Andric                        polymorphic_allocator<pair<const _Key, _Value>>>;
50*7c82a1ecSDimitry Andric
51*7c82a1ecSDimitry Andrictemplate <class _Key, class _Value, class  _Compare = less<_Key>>
52*7c82a1ecSDimitry Andricusing multimap = _VSTD::multimap<_Key, _Value, _Compare,
53*7c82a1ecSDimitry Andric                        polymorphic_allocator<pair<const _Key, _Value>>>;
54*7c82a1ecSDimitry Andric
55*7c82a1ecSDimitry Andric_LIBCPP_END_NAMESPACE_LFTS_PMR
56*7c82a1ecSDimitry Andric
57*7c82a1ecSDimitry Andric#endif /* _LIBCPP_EXPERIMENTAL_MAP */
58