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 12 // [concepts.lang], language-related concepts 13 // [concept.same], concept same_as 14 using std::same_as; 15 16 // [concept.derived], concept derived_from 17 using std::derived_from; 18 19 // [concept.convertible], concept convertible_to 20 using std::convertible_to; 21 22 // [concept.commonref], concept common_reference_with 23 using std::common_reference_with; 24 25 // [concept.common], concept common_with 26 using std::common_with; 27 28 // [concepts.arithmetic], arithmetic concepts 29 using std::floating_point; 30 using std::integral; 31 using std::signed_integral; 32 using std::unsigned_integral; 33 34 // [concept.assignable], concept assignable_from 35 using std::assignable_from; 36 37 // [concept.swappable], concept swappable 38 namespace ranges { 39 inline namespace __cpo { 40 using std::ranges::__cpo::swap; 41 } 42 } // namespace ranges 43 44 using std::swappable; 45 using std::swappable_with; 46 47 // [concept.destructible], concept destructible 48 using std::destructible; 49 50 // [concept.constructible], concept constructible_from 51 using std::constructible_from; 52 53 // [concept.default.init], concept default_initializable 54 using std::default_initializable; 55 56 // [concept.moveconstructible], concept move_constructible 57 using std::move_constructible; 58 59 // [concept.copyconstructible], concept copy_constructible 60 using std::copy_constructible; 61 62 // [concepts.compare], comparison concepts 63 // [concept.equalitycomparable], concept equality_comparable 64 using std::equality_comparable; 65 using std::equality_comparable_with; 66 67 // [concept.totallyordered], concept totally_ordered 68 using std::totally_ordered; 69 using std::totally_ordered_with; 70 71 // [concepts.object], object concepts 72 using std::copyable; 73 using std::movable; 74 using std::regular; 75 using std::semiregular; 76 77 // [concepts.callable], callable concepts 78 // [concept.invocable], concept invocable 79 using std::invocable; 80 81 // [concept.regularinvocable], concept regular_invocable 82 using std::regular_invocable; 83 84 // [concept.predicate], concept predicate 85 using std::predicate; 86 87 // [concept.relation], concept relation 88 using std::relation; 89 90 // [concept.equiv], concept equivalence_relation 91 using std::equivalence_relation; 92 93 // [concept.strictweakorder], concept strict_weak_order 94 using std::strict_weak_order; 95 96} // namespace std 97