Also:
- refactor out __voidify;
- use the destroy algorithm internally;
- refactor out helper classes used in tests for uninitialized_* algorithms.
Paths
| Differential D115626
[libc++][ranges] Implement `uninitialized_value_construct{,_n}` and `uninitialized_fill{,_n}`. ClosedPublic Authored by var-const on Dec 13 2021, 4:03 AM.
Details
Summary Also:
Diff Detail
Event Timelineldionne added inline comments.
This revision now requires changes to proceed.Dec 13 2021, 1:19 PM var-const added inline comments.
Comment Actions LGTM with my comments applied. Thanks!
This revision is now accepted and ready to land.Dec 15 2021, 11:10 AM
var-const marked 2 inline comments as done. Comment Actions
var-const marked 5 inline comments as done. Comment ActionsRun clang-format on newly-added files.
var-const marked an inline comment as done. Comment ActionsMake destroy_at strictly conforming in C++17, rebase on main. Closed by commit rG754ea6fd4d52: [libc++][ranges] Implement `uninitialized_value_construct{,_n}` and… (authored by var-const). · Explain WhyDec 20 2021, 12:24 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 395051 libcxx/docs/Status/RangesAlgorithms.csv
libcxx/docs/Status/RangesPaper.csv
libcxx/include/CMakeLists.txt
libcxx/include/__memory/construct_at.h
libcxx/include/__memory/ranges_uninitialized_algorithms.hlibcxx/include/__memory/uninitialized_algorithms.h
libcxx/include/__memory/voidify.h
libcxx/include/memory
libcxx/include/module.modulemap
libcxx/test/libcxx/diagnostics/detail.headers/memory/voidify.module.verify.cpp
libcxx/test/std/utilities/memory/specialized.algorithms/buffer.h
libcxx/test/std/utilities/memory/specialized.algorithms/counted.h
libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct.pass.cpp
libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct.pass.cpp
libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/ranges_uninitialized_fill_n.pass.cpp
libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/ranges_uninitialized_fill.pass.cpp
|
clang-format not found in user’s local PATH; not linting file.