44 #ifndef _GLIBCXX_MEMORY 45 #define _GLIBCXX_MEMORY 1 47 #ifdef _GLIBCXX_SYSHDR 48 #pragma GCC system_header 74 #if __cplusplus >= 201103L 77 # include <bits/uses_allocator.h> 82 # include <bits/shared_ptr.h> 87 #if __cplusplus < 201103L || _GLIBCXX_USE_DEPRECATED 91 #if __cplusplus > 201703L 96 #if __cplusplus > 202002L 100 #if __cplusplus > 202302L 104 #define __glibcxx_want_addressof_constexpr 105 #define __glibcxx_want_algorithm_iterator_requirements 106 #define __glibcxx_want_allocator_traits_is_always_equal 107 #define __glibcxx_want_assume_aligned 108 #define __glibcxx_want_atomic_shared_ptr 109 #define __glibcxx_want_atomic_value_initialization 110 #define __glibcxx_want_constexpr_dynamic_alloc 111 #define __glibcxx_want_constexpr_memory 112 #define __glibcxx_want_enable_shared_from_this 113 #define __glibcxx_want_indirect 114 #define __glibcxx_want_is_sufficiently_aligned 115 #define __glibcxx_want_make_unique 116 #define __glibcxx_want_out_ptr 117 #define __glibcxx_want_parallel_algorithm 118 #define __glibcxx_want_polymorphic 119 #define __glibcxx_want_ranges 120 #define __glibcxx_want_raw_memory_algorithms 121 #define __glibcxx_want_shared_ptr_arrays 122 #define __glibcxx_want_shared_ptr_weak_type 123 #define __glibcxx_want_smart_ptr_for_overwrite 124 #define __glibcxx_want_start_lifetime_as 125 #define __glibcxx_want_to_address 126 #define __glibcxx_want_transparent_operators 127 #define __glibcxx_want_smart_ptr_owner_equality 128 #define __glibcxx_want_allocate_at_least 131 #if __cplusplus >= 201103L && __cplusplus <= 202002L && _GLIBCXX_HOSTED 132 namespace std _GLIBCXX_VISIBILITY(default)
134 _GLIBCXX_BEGIN_NAMESPACE_VERSION
157 template <
typename _Tp>
174 _GLIBCXX_END_NAMESPACE_VERSION
176 #endif // C++11 to C++20 178 #ifdef __cpp_lib_parallel_algorithm // C++ >= 17 && HOSTED 180 # if _PSTL_EXECUTION_POLICIES_DEFINED 182 # include <pstl/glue_memory_impl.h> 185 # include <pstl/glue_memory_defs.h> 187 #endif // __cpp_lib_parallel_algorithm
pointer_safety get_pointer_safety() noexcept
The type of pointer safety supported by the implementation.
void declare_no_pointers(char *, size_t)
Inform a garbage collector that a region of memory need not be traced.
_Tp * undeclare_reachable(_Tp *__p)
Unregister an object previously registered with declare_reachable.
pointer_safety
Constants representing the different types of pointer safety.
ISO C++ entities toplevel namespace is std.
void declare_reachable(void *)
Inform a garbage collector that an object is still in use.
void undeclare_no_pointers(char *, size_t)
Unregister a range previously registered with declare_no_pointers.