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_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
132namespace std _GLIBCXX_VISIBILITY(default)
134_GLIBCXX_BEGIN_NAMESPACE_VERSION
150enum class pointer_safety { relaxed, preferred, strict };
154declare_reachable(
void*) { }
157template <
typename _Tp>
159 undeclare_reachable(_Tp* __p) {
return __p; }
163declare_no_pointers(
char*,
size_t) { }
167undeclare_no_pointers(
char*,
size_t) { }
171get_pointer_safety() noexcept {
return pointer_safety::relaxed; }
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>
ISO C++ entities toplevel namespace is std.