[libcxx-commits] [PATCH] D132151: [libc++] Make <ranges> non-experimental

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Aug 18 11:08:54 PDT 2022


ldionne created this revision.
Herald added subscribers: wenlei, arichardson.
Herald added a project: All.
ldionne requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

When we ship LLVM 16, <ranges> won't be considered experimental anymore.
We might as well do this sooner rather than later.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D132151

Files:
  libcxx/include/__algorithm/copy_backward.h
  libcxx/include/__algorithm/in_found_result.h
  libcxx/include/__algorithm/in_fun_result.h
  libcxx/include/__algorithm/in_in_out_result.h
  libcxx/include/__algorithm/in_in_result.h
  libcxx/include/__algorithm/in_out_out_result.h
  libcxx/include/__algorithm/in_out_result.h
  libcxx/include/__algorithm/iterator_operations.h
  libcxx/include/__algorithm/make_projected.h
  libcxx/include/__algorithm/min_max_result.h
  libcxx/include/__algorithm/ranges_adjacent_find.h
  libcxx/include/__algorithm/ranges_all_of.h
  libcxx/include/__algorithm/ranges_any_of.h
  libcxx/include/__algorithm/ranges_binary_search.h
  libcxx/include/__algorithm/ranges_clamp.h
  libcxx/include/__algorithm/ranges_copy.h
  libcxx/include/__algorithm/ranges_copy_backward.h
  libcxx/include/__algorithm/ranges_copy_if.h
  libcxx/include/__algorithm/ranges_copy_n.h
  libcxx/include/__algorithm/ranges_count.h
  libcxx/include/__algorithm/ranges_count_if.h
  libcxx/include/__algorithm/ranges_equal.h
  libcxx/include/__algorithm/ranges_equal_range.h
  libcxx/include/__algorithm/ranges_fill.h
  libcxx/include/__algorithm/ranges_fill_n.h
  libcxx/include/__algorithm/ranges_find.h
  libcxx/include/__algorithm/ranges_find_end.h
  libcxx/include/__algorithm/ranges_find_first_of.h
  libcxx/include/__algorithm/ranges_find_if.h
  libcxx/include/__algorithm/ranges_find_if_not.h
  libcxx/include/__algorithm/ranges_for_each.h
  libcxx/include/__algorithm/ranges_for_each_n.h
  libcxx/include/__algorithm/ranges_generate.h
  libcxx/include/__algorithm/ranges_generate_n.h
  libcxx/include/__algorithm/ranges_includes.h
  libcxx/include/__algorithm/ranges_inplace_merge.h
  libcxx/include/__algorithm/ranges_is_heap.h
  libcxx/include/__algorithm/ranges_is_heap_until.h
  libcxx/include/__algorithm/ranges_is_partitioned.h
  libcxx/include/__algorithm/ranges_is_permutation.h
  libcxx/include/__algorithm/ranges_is_sorted.h
  libcxx/include/__algorithm/ranges_is_sorted_until.h
  libcxx/include/__algorithm/ranges_iterator_concept.h
  libcxx/include/__algorithm/ranges_lexicographical_compare.h
  libcxx/include/__algorithm/ranges_lower_bound.h
  libcxx/include/__algorithm/ranges_make_heap.h
  libcxx/include/__algorithm/ranges_max.h
  libcxx/include/__algorithm/ranges_max_element.h
  libcxx/include/__algorithm/ranges_merge.h
  libcxx/include/__algorithm/ranges_min.h
  libcxx/include/__algorithm/ranges_min_element.h
  libcxx/include/__algorithm/ranges_minmax.h
  libcxx/include/__algorithm/ranges_minmax_element.h
  libcxx/include/__algorithm/ranges_mismatch.h
  libcxx/include/__algorithm/ranges_move.h
  libcxx/include/__algorithm/ranges_move_backward.h
  libcxx/include/__algorithm/ranges_next_permutation.h
  libcxx/include/__algorithm/ranges_none_of.h
  libcxx/include/__algorithm/ranges_nth_element.h
  libcxx/include/__algorithm/ranges_partial_sort.h
  libcxx/include/__algorithm/ranges_partial_sort_copy.h
  libcxx/include/__algorithm/ranges_partition.h
  libcxx/include/__algorithm/ranges_partition_copy.h
  libcxx/include/__algorithm/ranges_partition_point.h
  libcxx/include/__algorithm/ranges_pop_heap.h
  libcxx/include/__algorithm/ranges_prev_permutation.h
  libcxx/include/__algorithm/ranges_push_heap.h
  libcxx/include/__algorithm/ranges_remove.h
  libcxx/include/__algorithm/ranges_remove_copy.h
  libcxx/include/__algorithm/ranges_remove_copy_if.h
  libcxx/include/__algorithm/ranges_remove_if.h
  libcxx/include/__algorithm/ranges_replace.h
  libcxx/include/__algorithm/ranges_replace_copy.h
  libcxx/include/__algorithm/ranges_replace_copy_if.h
  libcxx/include/__algorithm/ranges_replace_if.h
  libcxx/include/__algorithm/ranges_reverse.h
  libcxx/include/__algorithm/ranges_reverse_copy.h
  libcxx/include/__algorithm/ranges_rotate.h
  libcxx/include/__algorithm/ranges_rotate_copy.h
  libcxx/include/__algorithm/ranges_sample.h
  libcxx/include/__algorithm/ranges_search.h
  libcxx/include/__algorithm/ranges_search_n.h
  libcxx/include/__algorithm/ranges_set_difference.h
  libcxx/include/__algorithm/ranges_set_intersection.h
  libcxx/include/__algorithm/ranges_set_symmetric_difference.h
  libcxx/include/__algorithm/ranges_set_union.h
  libcxx/include/__algorithm/ranges_shuffle.h
  libcxx/include/__algorithm/ranges_sort.h
  libcxx/include/__algorithm/ranges_sort_heap.h
  libcxx/include/__algorithm/ranges_stable_partition.h
  libcxx/include/__algorithm/ranges_stable_sort.h
  libcxx/include/__algorithm/ranges_swap_ranges.h
  libcxx/include/__algorithm/ranges_transform.h
  libcxx/include/__algorithm/ranges_unique.h
  libcxx/include/__algorithm/ranges_unique_copy.h
  libcxx/include/__algorithm/ranges_upper_bound.h
  libcxx/include/__algorithm/unwrap_range.h
  libcxx/include/__config
  libcxx/include/__iterator/advance.h
  libcxx/include/__iterator/distance.h
  libcxx/include/__iterator/insert_iterator.h
  libcxx/include/__iterator/next.h
  libcxx/include/__iterator/prev.h
  libcxx/include/__iterator/reverse_iterator.h
  libcxx/include/__memory/concepts.h
  libcxx/include/__memory/ranges_construct_at.h
  libcxx/include/__memory/ranges_uninitialized_algorithms.h
  libcxx/include/__ranges/all.h
  libcxx/include/__ranges/common_view.h
  libcxx/include/__ranges/copyable_box.h
  libcxx/include/__ranges/counted.h
  libcxx/include/__ranges/drop_view.h
  libcxx/include/__ranges/empty.h
  libcxx/include/__ranges/empty_view.h
  libcxx/include/__ranges/filter_view.h
  libcxx/include/__ranges/iota_view.h
  libcxx/include/__ranges/join_view.h
  libcxx/include/__ranges/lazy_split_view.h
  libcxx/include/__ranges/non_propagating_cache.h
  libcxx/include/__ranges/owning_view.h
  libcxx/include/__ranges/range_adaptor.h
  libcxx/include/__ranges/rbegin.h
  libcxx/include/__ranges/ref_view.h
  libcxx/include/__ranges/rend.h
  libcxx/include/__ranges/reverse_view.h
  libcxx/include/__ranges/single_view.h
  libcxx/include/__ranges/subrange.h
  libcxx/include/__ranges/take_view.h
  libcxx/include/__ranges/transform_view.h
  libcxx/include/__ranges/view_interface.h
  libcxx/include/__ranges/views.h
  libcxx/include/__ranges/zip_view.h
  libcxx/include/span
  libcxx/include/string_view
  libcxx/include/version
  libcxx/test/libcxx/algorithms/alg.modifying.operations/copy.pass.cpp
  libcxx/test/libcxx/algorithms/alg.sorting/assert.min.max.pass.cpp
  libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
  libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
  libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_iterator.compile.pass.cpp
  libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_range.compile.pass.cpp
  libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_input_iterator.compile.pass.cpp
  libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_input_range.compile.pass.cpp
  libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_sentinel_for.compile.pass.cpp
  libcxx/test/libcxx/containers/views/views.span/span.cons/range.pass.cpp
  libcxx/test/libcxx/containers/views/views.span/span.cons/range.verify.cpp
  libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
  libcxx/test/libcxx/inclusions/ranges.inclusions.compile.pass.cpp
  libcxx/test/libcxx/ranges/has-no-incomplete-ranges.compile.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.all/all.nodiscard.verify.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.common.view/adaptor.nodiscard.verify.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/arrow.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/assign.copy.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/assign.move.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/ctor.default.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/ctor.in_place.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/deref.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/has_value.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/no_unique_address.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/properties.compile.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.counted/adaptor.nodiscard.verify.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/no_unique_address.compile.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/assert.equal.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/assert.equal.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.reverse/adaptor.nodiscard.verify.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.transform/adaptor.nodiscard.verify.cpp
  libcxx/test/libcxx/ranges/range.nonprop.cache/assign.copy.pass.cpp
  libcxx/test/libcxx/ranges/range.nonprop.cache/assign.move.pass.cpp
  libcxx/test/libcxx/ranges/range.nonprop.cache/constraints.compile.pass.cpp
  libcxx/test/libcxx/ranges/range.nonprop.cache/ctor.copy.pass.cpp
  libcxx/test/libcxx/ranges/range.nonprop.cache/ctor.default.pass.cpp
  libcxx/test/libcxx/ranges/range.nonprop.cache/ctor.move.pass.cpp
  libcxx/test/libcxx/ranges/range.nonprop.cache/deref.pass.cpp
  libcxx/test/libcxx/ranges/range.nonprop.cache/emplace.pass.cpp
  libcxx/test/libcxx/ranges/range.nonprop.cache/emplace_from.pass.cpp
  libcxx/test/libcxx/ranges/range.nonprop.cache/has_value.pass.cpp
  libcxx/test/libcxx/ranges/range.utility.helpers/simple_view.compile.pass.cpp
  libcxx/test/libcxx/ranges/version.compile.pass.cpp
  libcxx/test/libcxx/transitive_includes.sh.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_if.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill_n.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate_n.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_copy.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_point.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_stable_partition.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/ranges_sample.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/ranges_shuffle.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges.remove.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges.remove_if.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy_if.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges.replace.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges.replace_if.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy_if.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/ranges.reverse.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/ranges.reverse_copy.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/ranges.rotate_copy.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/ranges_rotate.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/ranges.swap_ranges.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique.pass.cpp
  libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique_copy.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/ranges.adjacent_find.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/ranges.all_of.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/ranges.any_of.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count_if.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/ranges.find_end.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/ranges.find_first_of.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find_if.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find_if_not.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/ranges.is_permutation.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/ranges.none_of.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search_n.pass.cpp
  libcxx/test/std/algorithms/alg.nonmodifying/mismatch/ranges_mismatch.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/ranges.binary_search.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/ranges_equal_range.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/ranges.lower_bound.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/ranges.upper_bound.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.clamp/assert.ranges_clamp.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.clamp/ranges.clamp.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap_until.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/assert.ranges_pop_heap.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/ranges.lexicographical_compare.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_inplace_merge.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_merge.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max_element.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min_element.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.minmax.pass.cpp
  (374 more files...)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D132151.453714.patch
Type: text/x-patch
Size: 400423 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220818/693adce6/attachment-0001.bin>


More information about the libcxx-commits mailing list