[all-commits] [llvm/llvm-project] e53c46: [libc++][ranges] Implement `lazy_split_view`.

Konstantin Varlamov via All-commits all-commits at lists.llvm.org
Tue Apr 12 22:30:05 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e53c461bf3f0feebb4fd6b43e05a0047f8edb945
      https://github.com/llvm/llvm-project/commit/e53c461bf3f0feebb4fd6b43e05a0047f8edb945
  Author: Konstantin Varlamov <varconst at apple.com>
  Date:   2022-04-12 (Tue, 12 Apr 2022)

  Changed paths:
    M libcxx/docs/Status/RangesPaper.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__ranges/lazy_split_view.h
    M libcxx/include/module.modulemap
    M libcxx/include/ranges
    M libcxx/test/libcxx/private_headers.verify.cpp
    A libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/no_unique_address.compile.pass.cpp
    A libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/assert.equal.pass.cpp
    A libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/assert.equal.pass.cpp
    A libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/types.h
    M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/adaptor.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/base.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/begin.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/constraints.compile.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/ctad.compile.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/ctor.copy_move.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/ctor.default.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/ctor.range.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/ctor.view.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/end.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/general.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/base.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/ctor.default.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/ctor.outer_iterator.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/deref.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/equal.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/increment.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/iter_move.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/iter_swap.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/types.compile.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer.value/begin.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer.value/ctor.default.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer.value/ctor.iter.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer.value/end.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer.value/view_interface.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.copy.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.default.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.parent.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.parent_base.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/deref.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/equal.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/increment.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/types.compile.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/small_string.h
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/types.h
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/view_interface.pass.cpp
    M libcxx/test/support/test_iterators.h

  Log Message:
  -----------
  [libc++][ranges] Implement `lazy_split_view`.

Note that this class was called just `split_view` in the original One
Ranges Proposal and was renamed to `lazy_split_view` by
[P2210](https://wg21.link/p2210).

Co-authored-by: zoecarver <z.zoelec2 at gmail.com>

Differential Revision: https://reviews.llvm.org/D107500




More information about the All-commits mailing list