[libc++] Add the C++17 <memory_resource> header (mono-patch)
This patch is the rebase and squash of three earlier patches.
It supersedes all three of them.
- D47111: experimental monotonic_buffer_resource.
- D47358: experimental pool resources.
- D47360: Copy std::experimental::pmr to std::pmr.
The significant difference between this patch and the-sum-of-those-three
is that this patch does not add `std::experimental::pmr::monotonic_buffer_resource`
and so on. This patch simply adds the C++17 standard facilities, and
leaves the `std::experimental` namespace entirely alone.
Differential Revision: https://reviews.llvm.org/D89057
NOKEYCHECK=True
GitOrigin-RevId: 243da90ea5357c1ca324f714ea4813dc9029af27
diff --git a/include/module.modulemap.in b/include/module.modulemap.in
index 35356a4..d224c5b 100644
--- a/include/module.modulemap.in
+++ b/include/module.modulemap.in
@@ -882,6 +882,19 @@
module voidify { private header "__memory/voidify.h" }
}
}
+ module memory_resource {
+ header "memory_resource"
+ export *
+
+ module __memory_resource {
+ module memory_resource { private header "__memory_resource/memory_resource.h" }
+ module monotonic_buffer_resource { private header "__memory_resource/monotonic_buffer_resource.h" }
+ module polymorphic_allocator { private header "__memory_resource/polymorphic_allocator.h" }
+ module pool_options { private header "__memory_resource/pool_options.h" }
+ module synchronized_pool_resource { private header "__memory_resource/synchronized_pool_resource.h" }
+ module unsynchronized_pool_resource { private header "__memory_resource/unsynchronized_pool_resource.h" }
+ }
+ }
module mutex {
@requires_LIBCXX_ENABLE_THREADS@
header "mutex"