[libc++][ranges] Implement ranges::binary_search and ranges::{lower, upper}_bound
authorNikolas Klauser <nikolasklauser@berlin.de>
Sun, 5 Jun 2022 19:15:16 +0000 (21:15 +0200)
committerNikolas Klauser <nikolasklauser@berlin.de>
Mon, 6 Jun 2022 11:33:18 +0000 (13:33 +0200)
commit8171586176ee82bb54608c0d03622914c19dbee0
tree63142e57b0f946093baeb1de088dc69bf53399f3
parent881125ad9178120acef186f579e36ced0888dfdb
[libc++][ranges] Implement ranges::binary_search and ranges::{lower, upper}_bound

Reviewed By: Mordante, var-const, ldionne, #libc

Spies: sstefan1, libcxx-commits, mgorny

Differential Revision: https://reviews.llvm.org/D121964
22 files changed:
libcxx/benchmarks/CMakeLists.txt
libcxx/benchmarks/algorithms/lower_bound.bench.cpp [new file with mode: 0644]
libcxx/docs/Status/RangesAlgorithms.csv
libcxx/include/CMakeLists.txt
libcxx/include/__algorithm/binary_search.h
libcxx/include/__algorithm/equal_range.h
libcxx/include/__algorithm/inplace_merge.h
libcxx/include/__algorithm/lower_bound.h
libcxx/include/__algorithm/ranges_binary_search.h [new file with mode: 0644]
libcxx/include/__algorithm/ranges_lower_bound.h [new file with mode: 0644]
libcxx/include/__algorithm/ranges_upper_bound.h [new file with mode: 0644]
libcxx/include/__iterator/advance.h
libcxx/include/__iterator/distance.h
libcxx/include/algorithm
libcxx/include/module.modulemap
libcxx/test/libcxx/algorithms/callable.verify.cpp [new file with mode: 0644]
libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
libcxx/test/libcxx/private_headers.verify.cpp
libcxx/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/ranges.binary_search.pass.cpp [new file with mode: 0644]
libcxx/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/ranges.lower_bound.pass.cpp [new file with mode: 0644]
libcxx/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/ranges.upper_bound.pass.cpp [new file with mode: 0644]
libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp