[all-commits] [llvm/llvm-project] 295b95: [lib++][ranges][NFC] Refactor `iterator_operations...
Konstantin Varlamov via All-commits
all-commits at lists.llvm.org
Tue Jul 12 17:54:20 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 295b951ebcfea8d1fedf8abf4ffd449a83a551fd
https://github.com/llvm/llvm-project/commit/295b951ebcfea8d1fedf8abf4ffd449a83a551fd
Author: Konstantin Varlamov <varconst at apple.com>
Date: 2022-07-12 (Tue, 12 Jul 2022)
Changed paths:
M libcxx/include/__algorithm/equal_range.h
M libcxx/include/__algorithm/iterator_operations.h
M libcxx/include/__algorithm/lower_bound.h
M libcxx/include/__algorithm/ranges_binary_search.h
M libcxx/include/__algorithm/ranges_lower_bound.h
M libcxx/include/__algorithm/ranges_set_intersection.h
M libcxx/include/__algorithm/ranges_upper_bound.h
M libcxx/include/__algorithm/set_intersection.h
Log Message:
-----------
[lib++][ranges][NFC] Refactor `iterator_operations.h` to use tags.
Change the mechanism in `iterator_operations.h` to pass around a generic
policy tag indicating whether an internal function is being invoked from
a "classic" STL algorithm or a ranges algorithm. `IterOps` is now
a template class specialized on the policy tag.
The advantage is that this mechanism is more generic and allows defining
arbitrary conditions in a clean manner.
Also add a few more iterator functions to `IterOps`.
Differential Revision: https://reviews.llvm.org/D129390
More information about the All-commits
mailing list