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