44#ifndef _GLIBCXX_MEMORY
45#define _GLIBCXX_MEMORY 1
48#pragma GCC system_header
74#if __cplusplus >= 201103L
77# include <bits/uses_allocator.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_allocator_traits_is_always_equal
106#define __glibcxx_want_assume_aligned
107#define __glibcxx_want_atomic_shared_ptr
108#define __glibcxx_want_atomic_value_initialization
109#define __glibcxx_want_constexpr_dynamic_alloc
110#define __glibcxx_want_constexpr_memory
111#define __glibcxx_want_enable_shared_from_this
112#define __glibcxx_want_indirect
113#define __glibcxx_want_is_sufficiently_aligned
114#define __glibcxx_want_make_unique
115#define __glibcxx_want_out_ptr
116#define __glibcxx_want_parallel_algorithm
117#define __glibcxx_want_polymorphic
118#define __glibcxx_want_ranges
119#define __glibcxx_want_raw_memory_algorithms
120#define __glibcxx_want_shared_ptr_arrays
121#define __glibcxx_want_shared_ptr_weak_type
122#define __glibcxx_want_smart_ptr_for_overwrite
123#define __glibcxx_want_start_lifetime_as
124#define __glibcxx_want_to_address
125#define __glibcxx_want_transparent_operators
126#define __glibcxx_want_smart_ptr_owner_equality
129#if __cplusplus >= 201103L && __cplusplus <= 202002L && _GLIBCXX_HOSTED
130namespace std _GLIBCXX_VISIBILITY(default)
132_GLIBCXX_BEGIN_NAMESPACE_VERSION
155template <
typename _Tp>
172_GLIBCXX_END_NAMESPACE_VERSION
176#ifdef __cpp_lib_parallel_algorithm
178# if _PSTL_EXECUTION_POLICIES_DEFINED
180# include <pstl/glue_memory_impl.h>
183# include <pstl/glue_memory_defs.h>
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.
_Tp * undeclare_reachable(_Tp *__p)
Unregister an object previously registered with declare_reachable.
ISO C++ entities toplevel namespace is std.