1*7c82a1ecSDimitry Andric// -*- C++ -*- 2*7c82a1ecSDimitry Andric//===--------------------------- list ------------------------------------===// 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_SET 12*7c82a1ecSDimitry Andric#define _LIBCPP_EXPERIMENTAL_SET 13*7c82a1ecSDimitry Andric/* 14*7c82a1ecSDimitry Andric experimental/set 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 set = std::set<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 multiset = std::multiset<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 <set> 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 _Value, class _Compare = less<_Value>> 48*7c82a1ecSDimitry Andricusing set = _VSTD::set<_Value, _Compare, 49*7c82a1ecSDimitry Andric polymorphic_allocator<_Value>>; 50*7c82a1ecSDimitry Andric 51*7c82a1ecSDimitry Andrictemplate <class _Value, class _Compare = less<_Value>> 52*7c82a1ecSDimitry Andricusing multiset = _VSTD::multiset<_Value, _Compare, 53*7c82a1ecSDimitry Andric polymorphic_allocator<_Value>>; 54*7c82a1ecSDimitry Andric 55*7c82a1ecSDimitry Andric_LIBCPP_END_NAMESPACE_LFTS_PMR 56*7c82a1ecSDimitry Andric 57*7c82a1ecSDimitry Andric#endif /* _LIBCPP_EXPERIMENTAL_SET */ 58