LLVM: llvm::detail::zip_enumerator< Iters > Struct Template Reference (original) (raw)
template<typename... Iters>
struct llvm::detail::zip_enumerator< Iters >
Zippy iterator that uses the second iterator for comparisons.
For the increment to be safe, the second range has to be the shortest. Returns enumerator_result on dereference to provide .index() and .value() member functions. Note: Because the dereference operator returns enumerator_result as a value instead of a reference and does not strictly conform to the C++17's definition of forward iterator. However, it satisfies all the forward_iterator requirements that the zip_common and zippy depend on and fully conforms to the C++20 definition of forward iterator. This is similar to std::vector::iterator that returns bit reference wrappers on dereference.
Definition at line 2305 of file STLExtras.h.