[all-commits] [llvm/llvm-project] 21d434: [ADT] Add `zip_equal` for iteratees of equal lengths
Jakub Kuderski via All-commits
all-commits at lists.llvm.org
Tue Nov 29 16:58:04 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 21d434d997db58afcf03f72c5a34a56d2d46f6d1
https://github.com/llvm/llvm-project/commit/21d434d997db58afcf03f72c5a34a56d2d46f6d1
Author: Jakub Kuderski <kubak at google.com>
Date: 2022-11-29 (Tue, 29 Nov 2022)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/IteratorTest.cpp
Log Message:
-----------
[ADT] Add `zip_equal` for iteratees of equal lengths
Add a new version of `zip` that assumes that all iteratees have equal
lengths. The difference compared to `zip_first` is that `zip_equal`
checks this assumption in builds with assertions enabled.
This will allow us to clearly express the intent when working with
equally-sized ranges without having to write this assertion manually.
This is similar to Python's `zip(..., equal=True)` [1] or
`more_itertools.zip_equal` [2].
I saw this first suggested by @benvanik.
[1] https://peps.python.org/pep-0618/
[2] https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.zip_equal
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D138865
More information about the All-commits
mailing list