[all-commits] [llvm/llvm-project] 67151d: [libc++] [ranges] Implement P2415R2 owning_view.
Quuxplusone via All-commits
all-commits at lists.llvm.org
Thu Jan 13 09:30:35 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 67151d029bdb933c006535f94bd3e625307a6cfa
https://github.com/llvm/llvm-project/commit/67151d029bdb933c006535f94bd3e625307a6cfa
Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
Date: 2022-01-13 (Thu, 13 Jan 2022)
Changed paths:
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/RangesIssues.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__ranges/all.h
M libcxx/include/__ranges/concepts.h
A libcxx/include/__ranges/owning_view.h
M libcxx/include/module.modulemap
M libcxx/include/ranges
A libcxx/test/libcxx/diagnostics/detail.headers/ranges/owning_view.module.verify.cpp
M libcxx/test/std/containers/associative/map/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/multimap/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/multiset/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/associative/set/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/array/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/deque/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/list/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/unord/unord.map/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/unord/unord.multimap/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/unord/unord.multiset/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/containers/unord/unord.set/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/all.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/all_t.compile.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/base.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/begin_end.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/borrowing.compile.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/constructor.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/data.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/empty.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.common.view/ctad.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/ctad.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.view/ctad.compile.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.reverse/ctad.compile.pass.cpp
R libcxx/test/std/ranges/range.adaptors/range.reverse/ctad.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/ctad.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/ctad.compile.pass.cpp
M libcxx/test/std/ranges/range.req/range.refinements/viewable_range.compile.pass.cpp
M libcxx/test/std/re/re.results/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/strings/basic.string/range_concept_conformance.compile.pass.cpp
Log Message:
-----------
[libc++] [ranges] Implement P2415R2 owning_view.
"What is a view?"
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2415r2.html
https://github.com/cplusplus/draft/pull/5010/files
This was a late-breaking (Oct 2021) change to C++20.
The only thing missing from this patch is that we're supposed
to bump the feature-test macro from
#define __cpp_lib_ranges 202106L
to
#define __cpp_lib_ranges 202110L
but we can't do that because we don't implement all of 202106 Ranges yet.
Differential Revision: https://reviews.llvm.org/D116894
More information about the All-commits
mailing list