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
3.1 KiB
3.1 KiB