brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.7 KiB · c25e9e3 Raw
216 lines · plain
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-exception7//8//===----------------------------------------------------------------------===//9 10export namespace std {11  // [pointer.traits], pointer traits12  using std::pointer_traits;13 14  // [pointer.conversion], pointer conversion15  using std::to_address;16 17  // [ptr.align], pointer alignment18  using std::align;19  using std::assume_aligned;20#if _LIBCPP_STD_VER >= 2621  using std::is_sufficiently_aligned;22#endif23 24  // [obj.lifetime], explicit lifetime management25  //  using std::start_lifetime_as;26  //  using std::start_lifetime_as_array;27 28  // [allocator.tag], allocator argument tag29  using std::allocator_arg;30  using std::allocator_arg_t;31 32  // [allocator.uses], uses_allocator33  using std::uses_allocator;34 35  // [allocator.uses.trait], uses_allocator36  using std::uses_allocator_v;37 38  // [allocator.uses.construction], uses-allocator construction39  using std::uses_allocator_construction_args;40 41  using std::make_obj_using_allocator;42  using std::uninitialized_construct_using_allocator;43 44  // [allocator.traits], allocator traits45  using std::allocator_traits;46 47#if _LIBCPP_STD_VER >= 2348  using std::allocation_result;49#endif50 51  // [default.allocator], the default allocator52  using std::allocator;53  using std::operator==;54 55  // [specialized.addressof], addressof56  using std::addressof;57 58  // [specialized.algorithms], specialized algorithms59  // [special.mem.concepts], special memory concepts60 61  using std::uninitialized_default_construct;62  using std::uninitialized_default_construct_n;63 64  namespace ranges {65    using std::ranges::uninitialized_default_construct;66    using std::ranges::uninitialized_default_construct_n;67  } // namespace ranges68 69  using std::uninitialized_value_construct;70  using std::uninitialized_value_construct_n;71 72  namespace ranges {73    using std::ranges::uninitialized_value_construct;74    using std::ranges::uninitialized_value_construct_n;75  } // namespace ranges76 77  using std::uninitialized_copy;78  using std::uninitialized_copy_n;79 80  namespace ranges {81    using std::ranges::uninitialized_copy;82    using std::ranges::uninitialized_copy_result;83 84    using std::ranges::uninitialized_copy_n;85    using std::ranges::uninitialized_copy_n_result;86  } // namespace ranges87 88  using std::uninitialized_move;89  using std::uninitialized_move_n;90 91  namespace ranges {92    using std::ranges::uninitialized_move;93    using std::ranges::uninitialized_move_result;94 95    using std::ranges::uninitialized_move_n;96    using std::ranges::uninitialized_move_n_result;97  } // namespace ranges98 99  using std::uninitialized_fill;100  using std::uninitialized_fill_n;101 102  namespace ranges {103    using std::ranges::uninitialized_fill;104    using std::ranges::uninitialized_fill_n;105  } // namespace ranges106 107  // [specialized.construct], construct_at108  using std::construct_at;109 110  namespace ranges {111    using std::ranges::construct_at;112  }113  // [specialized.destroy], destroy114  using std::destroy;115  using std::destroy_at;116  using std::destroy_n;117 118  namespace ranges {119    using std::ranges::destroy;120    using std::ranges::destroy_at;121    using std::ranges::destroy_n;122  } // namespace ranges123 124  // [unique.ptr], class template unique_ptr125  using std::default_delete;126  using std::unique_ptr;127 128  using std::make_unique;129  using std::make_unique_for_overwrite;130 131  using std::operator<;132  using std::operator>;133  using std::operator<=;134  using std::operator>=;135  using std::operator<=>;136 137  using std::operator<<;138 139  // [util.smartptr.weak.bad], class bad_weak_ptr140  using std::bad_weak_ptr;141 142  // [util.smartptr.shared], class template shared_ptr143  using std::shared_ptr;144 145  // [util.smartptr.shared.create], shared_ptr creation146  using std::allocate_shared;147  using std::allocate_shared_for_overwrite;148  using std::make_shared;149  using std::make_shared_for_overwrite;150 151  // [util.smartptr.shared.spec], shared_ptr specialized algorithms152  using std::swap;153 154  // [util.smartptr.shared.cast], shared_ptr casts155  using std::const_pointer_cast;156  using std::dynamic_pointer_cast;157  using std::reinterpret_pointer_cast;158  using std::static_pointer_cast;159 160#if _LIBCPP_HAS_RTTI161  using std::get_deleter;162#endif // _LIBCPP_HAS_RTTI163 164  // [util.smartptr.shared.io], shared_ptr I/O165 166  // [util.smartptr.weak], class template weak_ptr167  using std::weak_ptr;168 169  // [util.smartptr.weak.spec], weak_ptr specialized algorithms170 171  // [util.smartptr.ownerless], class template owner_less172  using std::owner_less;173 174  // [util.smartptr.enab], class template enable_shared_from_this175  using std::enable_shared_from_this;176 177  // [util.smartptr.hash], hash support178  using std::hash;179 180  // [util.smartptr.atomic], atomic smart pointers181  // using std::atomic;182 183#if _LIBCPP_STD_VER >= 23184  // [out.ptr.t], class template out_ptr_t185  using std::out_ptr_t;186 187  // [out.ptr], function template out_ptr188  using std::out_ptr;189 190  // [inout.ptr.t], class template inout_ptr_t191  using std::inout_ptr_t;192 193  // [inout.ptr], function template inout_ptr194  using std::inout_ptr;195#endif // _LIBCPP_STD_VER >= 23196 197#if _LIBCPP_HAS_THREADS198  // [depr.util.smartptr.shared.atomic]199  using std::atomic_is_lock_free;200 201  using std::atomic_load;202  using std::atomic_load_explicit;203 204  using std::atomic_store;205  using std::atomic_store_explicit;206 207  using std::atomic_exchange;208  using std::atomic_exchange_explicit;209 210  using std::atomic_compare_exchange_strong;211  using std::atomic_compare_exchange_strong_explicit;212  using std::atomic_compare_exchange_weak;213  using std::atomic_compare_exchange_weak_explicit;214#endif // _LIBCPP_HAS_THREADS215} // namespace std216