[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