[all-commits] [llvm/llvm-project] 73ebca: [libc++][ranges][NFC] Implement the repetitive par...

Konstantin Varlamov via All-commits all-commits at lists.llvm.org
Tue Jul 12 02:49:06 PDT 2022


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

  Changed paths:
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__algorithm/ranges_equal_range.h
    A libcxx/include/__algorithm/ranges_generate.h
    A libcxx/include/__algorithm/ranges_generate_n.h
    A libcxx/include/__algorithm/ranges_includes.h
    A libcxx/include/__algorithm/ranges_inplace_merge.h
    A libcxx/include/__algorithm/ranges_is_heap.h
    A libcxx/include/__algorithm/ranges_is_heap_until.h
    A libcxx/include/__algorithm/ranges_partial_sort_copy.h
    A libcxx/include/__algorithm/ranges_partition.h
    A libcxx/include/__algorithm/ranges_partition_copy.h
    A libcxx/include/__algorithm/ranges_partition_point.h
    A libcxx/include/__algorithm/ranges_remove_copy.h
    A libcxx/include/__algorithm/ranges_remove_copy_if.h
    A libcxx/include/__algorithm/ranges_replace_copy.h
    A libcxx/include/__algorithm/ranges_replace_copy_if.h
    A libcxx/include/__algorithm/ranges_set_union.h
    A libcxx/include/__algorithm/ranges_shuffle.h
    A libcxx/include/__algorithm/ranges_stable_partition.h
    A libcxx/include/__algorithm/ranges_unique.h
    A libcxx/include/__algorithm/ranges_unique_copy.h
    M libcxx/include/module.modulemap.in
    M libcxx/test/libcxx/private_headers.verify.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate.pass.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate_n.pass.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition.pass.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_copy.pass.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_point.pass.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_stable_partition.pass.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/ranges_random_shuffle.pass.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy.pass.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy_if.pass.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy.pass.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy_if.pass.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique.pass.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique_copy.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/ranges_equal_range.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap_until.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_inplace_merge.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.set.operations/includes/ranges_includes.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.union/ranges_set_union.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/ranges_partial_sort_copy.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp

  Log Message:
  -----------
  [libc++][ranges][NFC] Implement the repetitive parts of the remaining range algorithms:

- create the headers (but not include them from `<algorithm>`);
- define the niebloid and its member functions with the right signatures
  (as no-ops);
- make sure all the right headers are included that are required by each
  algorithm's signature;
- update `CMakeLists.txt` and the module map;
- create the test files with the appropriate synopses.

The synopsis in `<algorithm>` is deliberately not updated because that
could be taken as a readiness signal. The new headers aren't included
from `<algorithm>` for the same reason.

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




More information about the All-commits mailing list