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
178 #ifdef __cpp_lib_parallel_algorithm
180 # if _PSTL_EXECUTION_POLICIES_DEFINED
182 # include <pstl/glue_memory_impl.h>
185 # include <pstl/glue_memory_defs.h>
_Tp * undeclare_reachable(_Tp *__p)
Unregister an object previously registered with declare_reachable.
void declare_reachable(void *)
Inform a garbage collector that an object is still in use.
pointer_safety get_pointer_safety() noexcept
The type of pointer safety supported by the implementation.
void undeclare_no_pointers(char *, size_t)
Unregister a range previously registered with declare_no_pointers.
void declare_no_pointers(char *, size_t)
Inform a garbage collector that a region of memory need not be traced.
pointer_safety
Constants representing the different types of pointer safety.
ISO C++ entities toplevel namespace is std.