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_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_hardened_shared_ptr_array
114#define __glibcxx_want_indirect
115#define __glibcxx_want_is_sufficiently_aligned
116#define __glibcxx_want_make_unique
117#define __glibcxx_want_out_ptr
118#define __glibcxx_want_parallel_algorithm
119#define __glibcxx_want_polymorphic
120#define __glibcxx_want_ranges
121#define __glibcxx_want_raw_memory_algorithms
122#define __glibcxx_want_shared_ptr_arrays
123#define __glibcxx_want_shared_ptr_weak_type
124#define __glibcxx_want_smart_ptr_for_overwrite
125#define __glibcxx_want_start_lifetime_as
126#define __glibcxx_want_to_address
127#define __glibcxx_want_transparent_operators
128#define __glibcxx_want_smart_ptr_owner_equality
129#define __glibcxx_want_allocate_at_least
132#if __cplusplus >= 201103L && __cplusplus <= 202002L && _GLIBCXX_HOSTED
133namespace std _GLIBCXX_VISIBILITY(default)
135_GLIBCXX_BEGIN_NAMESPACE_VERSION
151enum class pointer_safety { relaxed, preferred, strict };
155declare_reachable(
void*) { }
158template <
typename _Tp>
160 undeclare_reachable(_Tp* __p) {
return __p; }
164declare_no_pointers(
char*,
size_t) { }
168undeclare_no_pointers(
char*,
size_t) { }
172get_pointer_safety() noexcept {
return pointer_safety::relaxed; }
175_GLIBCXX_END_NAMESPACE_VERSION
179#ifdef __cpp_lib_parallel_algorithm
181# if _PSTL_EXECUTION_POLICIES_DEFINED
183# include <pstl/glue_memory_impl.h>
186# include <pstl/glue_memory_defs.h>
ISO C++ entities toplevel namespace is std.