xref: /aosp_15_r20/external/cronet/third_party/libc++/src/modules/std/utility.cppm (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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
10module;
11#include <utility>
12export module std:utility;
13export namespace std {
14  // [utility.swap], swap
15  using std::swap;
16
17  // [utility.exchange], exchange
18  using std::exchange;
19
20  // [forward], forward/move
21  using std::forward;
22  using std::forward_like;
23  using std::move;
24  using std::move_if_noexcept;
25
26  // [utility.as.const], as_const
27  using std::as_const;
28
29  // [declval], declval
30  using std::declval;
31
32  // [utility.intcmp], integer comparison functions
33  using std::cmp_equal;
34  using std::cmp_not_equal;
35
36  using std::cmp_greater;
37  using std::cmp_greater_equal;
38  using std::cmp_less;
39  using std::cmp_less_equal;
40
41  using std::in_range;
42
43  // [utility.underlying], to_underlying
44  using std::to_underlying;
45
46  // [utility.unreachable], unreachable
47  using std::unreachable;
48
49  // [intseq], compile-time integer sequences
50  using std::index_sequence;
51  using std::integer_sequence;
52
53  using std::make_index_sequence;
54  using std::make_integer_sequence;
55
56  using std::index_sequence_for;
57
58  // [pairs], class template pair
59  using std::pair;
60
61  using std::basic_common_reference;
62  using std::common_type;
63  // [pairs.spec], pair specialized algorithms
64  using std::operator==;
65  using std::operator<=>;
66
67  using std::make_pair;
68
69  // [pair.astuple], tuple-like access to pair
70  using std::tuple_element;
71  using std::tuple_size;
72
73  using std::tuple_element;
74  using std::tuple_size;
75
76  using std::get;
77
78  // [pair.piecewise], pair piecewise construction
79  using std::piecewise_construct;
80  using std::piecewise_construct_t;
81
82  // in-place construction
83  using std::in_place;
84  using std::in_place_t;
85
86  using std::in_place_type;
87  using std::in_place_type_t;
88
89  using std::in_place_index;
90  using std::in_place_index_t;
91
92  // [depr.relops]
93  namespace rel_ops {
94    using rel_ops::operator!=;
95    using rel_ops::operator>;
96    using rel_ops::operator<=;
97    using rel_ops::operator>=;
98  } // namespace rel_ops
99} // namespace std
100