2 //===----------------------------------------------------------------------===//
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
8 //===----------------------------------------------------------------------===//
10 export namespace std {
11 // [utility.swap], swap
14 // [utility.exchange], exchange
17 // [forward], forward/move
19 #if _LIBCPP_STD_VER >= 23
20 using std::forward_like;
23 using std::move_if_noexcept;
25 // [utility.as.const], as_const
31 // [utility.intcmp], integer comparison functions
33 using std::cmp_not_equal;
35 using std::cmp_greater;
36 using std::cmp_greater_equal;
38 using std::cmp_less_equal;
42 #if _LIBCPP_STD_VER >= 23
43 // [utility.underlying], to_underlying
44 using std::to_underlying;
46 // [utility.unreachable], unreachable
47 using std::unreachable;
48 #endif // _LIBCPP_STD_VER >= 23
50 // [intseq], compile-time integer sequences
51 using std::index_sequence;
52 using std::integer_sequence;
54 using std::make_index_sequence;
55 using std::make_integer_sequence;
57 using std::index_sequence_for;
59 // [pairs], class template pair
62 #if _LIBCPP_STD_VER >= 23
63 using std::basic_common_reference;
64 using std::common_type;
66 // [pairs.spec], pair specialized algorithms
67 using std::operator==;
68 using std::operator<=>;
72 // [pair.astuple], tuple-like access to pair
73 using std::tuple_element;
74 using std::tuple_size;
78 // [pair.piecewise], pair piecewise construction
79 using std::piecewise_construct;
80 using std::piecewise_construct_t;
82 // in-place construction
84 using std::in_place_t;
86 using std::in_place_type;
87 using std::in_place_type_t;
89 using std::in_place_index;
90 using std::in_place_index_t;
94 using rel_ops::operator!=;
95 using rel_ops::operator>;
96 using rel_ops::operator<=;
97 using rel_ops::operator>=;
98 } // namespace rel_ops