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 10export namespace std { 11 // [utility.swap], swap 12 using std::swap; 13 14 // [utility.exchange], exchange 15 using std::exchange; 16 17 // [forward], forward/move 18 using std::forward; 19#if _LIBCPP_STD_VER >= 23 20 using std::forward_like; 21#endif 22 using std::move; 23 using std::move_if_noexcept; 24 25 // [utility.as.const], as_const 26 using std::as_const; 27 28 // [declval], declval 29 using std::declval; 30 31 // [utility.intcmp], integer comparison functions 32 using std::cmp_equal; 33 using std::cmp_not_equal; 34 35 using std::cmp_greater; 36 using std::cmp_greater_equal; 37 using std::cmp_less; 38 using std::cmp_less_equal; 39 40 using std::in_range; 41 42#if _LIBCPP_STD_VER >= 23 43 // [utility.underlying], to_underlying 44 using std::to_underlying; 45 46 // [utility.unreachable], unreachable 47 using std::unreachable; 48#endif // _LIBCPP_STD_VER >= 23 49 50 // [intseq], compile-time integer sequences 51 using std::index_sequence; 52 using std::integer_sequence; 53 54 using std::make_index_sequence; 55 using std::make_integer_sequence; 56 57 using std::index_sequence_for; 58 59 // [pairs], class template pair 60 using std::pair; 61 62#if _LIBCPP_STD_VER >= 23 63 using std::basic_common_reference; 64 using std::common_type; 65#endif 66 // [pairs.spec], pair specialized algorithms 67 using std::operator==; 68 using std::operator<=>; 69 70 using std::make_pair; 71 72 // [pair.astuple], tuple-like access to pair 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