[all-commits] [llvm/llvm-project] d8fad6: [libcxx][ranges] adds concept `sized_range` and cl...

Christopher Di Bella via All-commits all-commits at lists.llvm.org
Wed May 19 11:17:21 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d8fad6614923eea684f736e7d22fe54d5393f13f
      https://github.com/llvm/llvm-project/commit/d8fad6614923eea684f736e7d22fe54d5393f13f
  Author: Christopher Di Bella <cjdb at google.com>
  Date:   2021-05-19 (Wed, 19 May 2021)

  Changed paths:
    M libcxx/docs/OneRangesProposalStatus.csv
    M libcxx/include/__ranges/concepts.h
    M libcxx/include/__ranges/size.h
    M libcxx/include/ranges
    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/containers/views/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/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.access/range.prim/empty.pass.cpp
    M libcxx/test/std/ranges/range.access/range.prim/size.pass.cpp
    R libcxx/test/std/ranges/range.range/enable_borrowed_range.compile.pass.cpp
    R libcxx/test/std/ranges/range.range/helper_aliases.compile.pass.cpp
    R libcxx/test/std/ranges/range.range/iterator_t.compile.pass.cpp
    R libcxx/test/std/ranges/range.range/range.compile.pass.cpp
    R libcxx/test/std/ranges/range.range/sentinel_t.compile.pass.cpp
    R libcxx/test/std/ranges/range.refinements/bidirectional_range.compile.pass.cpp
    R libcxx/test/std/ranges/range.refinements/common_range.compile.pass.cpp
    R libcxx/test/std/ranges/range.refinements/forward_range.compile.pass.cpp
    R libcxx/test/std/ranges/range.refinements/input_range.compile.pass.cpp
    R libcxx/test/std/ranges/range.refinements/random_access_range.compile.pass.cpp
    R libcxx/test/std/ranges/range.refinements/subsumption.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.range/enable_borrowed_range.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.range/helper_aliases.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.range/iterator_t.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.range/range.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.range/sentinel_t.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.refinements/bidirectional_range.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.refinements/common_range.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.refinements/forward_range.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.refinements/input_range.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.refinements/random_access_range.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.refinements/subsumption.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.sized/sized_range.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.sized/subsumption.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.view/enable_view.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.view/view.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.view/view.subsumption.compile.pass.cpp
    A libcxx/test/std/ranges/range.req/range.view/view_base.compile.pass.cpp
    R libcxx/test/std/ranges/range.view/enable_view.compile.pass.cpp
    R libcxx/test/std/ranges/range.view/view.compile.pass.cpp
    R libcxx/test/std/ranges/range.view/view.subsumption.compile.pass.cpp
    R libcxx/test/std/ranges/range.view/view_base.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
    M libcxx/test/std/strings/string.view/range_concept_conformance.compile.pass.cpp

  Log Message:
  -----------
  [libcxx][ranges] adds concept `sized_range` and cleans up `ranges::size`

* adds `sized_range` and conformance tests
* moves `disable_sized_range` into namespace `std::ranges`
* removes explicit type parameter

Implements part of P0896 'The One Ranges Proposal'.

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




More information about the All-commits mailing list