xref: /openbsd/gnu/llvm/libcxx/include/experimental/set (revision 4bdff4be)
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_SET
11#define _LIBCPP_EXPERIMENTAL_SET
12
13/*
14    experimental/set synopsis
15
16// C++1z
17namespace std {
18namespace experimental {
19inline namespace fundamentals_v1 {
20namespace pmr {
21
22  template <class Key, class T, class Compare = less<Key>>
23  using set = std::set<Key, T, Compare,
24                       polymorphic_allocator<pair<const Key,T>>>;
25
26  template <class Key, class T, class Compare = less<Key>>
27  using multiset = std::multiset<Key, T, Compare,
28                                 polymorphic_allocator<pair<const Key,T>>>;
29
30} // namespace pmr
31} // namespace fundamentals_v1
32} // namespace experimental
33} // namespace std
34
35 */
36
37#include <__assert> // all public C++ headers provide the assertion handler
38#include <experimental/__config>
39#include <experimental/memory_resource>
40#include <set>
41
42#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
43#  pragma GCC system_header
44#endif
45
46_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
47
48#ifndef _LIBCPP_CXX03_LANG
49
50template <class _Value, class  _Compare = less<_Value>>
51using set = _VSTD::set<_Value, _Compare,
52                        polymorphic_allocator<_Value>>;
53
54template <class _Value, class  _Compare = less<_Value>>
55using multiset = _VSTD::multiset<_Value, _Compare,
56                        polymorphic_allocator<_Value>>;
57
58#endif // _LIBCPP_CXX03_LANG
59
60_LIBCPP_END_NAMESPACE_LFTS_PMR
61
62#endif /* _LIBCPP_EXPERIMENTAL_SET */
63