[libc++][ranges] Implement `uninitialized_value_construct{,_n}` and `uninitialized_fill{,_n}`.
Also:
- refactor out `__voidify`;
- use the `destroy` algorithm internally;
- refactor out helper classes used in tests for `uninitialized_*`
algorithms.
Differential Revision: https://reviews.llvm.org/D115626
NOKEYCHECK=True
GitOrigin-RevId: 754ea6fd4d52f4699644a3c6dfc854a231c881c4
diff --git a/include/module.modulemap b/include/module.modulemap
index 1cd5c83..12e0a15 100644
--- a/include/module.modulemap
+++ b/include/module.modulemap
@@ -650,6 +650,7 @@
module uninitialized_algorithms { private header "__memory/uninitialized_algorithms.h" }
module unique_ptr { private header "__memory/unique_ptr.h" }
module uses_allocator { private header "__memory/uses_allocator.h" }
+ module voidify { private header "__memory/voidify.h" }
}
}
module mutex {