| C++ zip
    | 
Bidirectional iterator over multiple iterators simultaneously. More...
#include <zip.hpp>
| Public Types | |
| using | iterator_category = std::bidirectional_iterator_tag | 
| Supports bidirectional traversal. | |
| using | difference_type = std::ptrdiff_t | 
| The difference between two iterators. | |
| using | value_type = std::tuple< typename std::iterator_traits< Iterators >::reference... > | 
| A tuple of references from each of the zipped iterators. | |
| using | pointer = std::tuple< typename std::iterator_traits< Iterators >::pointer... > | 
| A tuple of pointers from each of the zipped iterators. | |
| using | reference = std::tuple< typename std::iterator_traits< Iterators >::reference... > | 
| A tuple of references from each of the zipped iterators. | |
| Public Member Functions | |
| zip_iterator (Iterators... iterators) | |
| Constructs a zip_iteratorfrom the provided iterators.  More... | |
| value_type | operator* () const | 
| Dereferences the zip_iteratorto obtain a tuple of references from each iterator.  More... | |
| bool | operator== (const zip_iterator &other) const | 
| Checks if two zip_iteratorinstances are equal.  More... | |
| bool | operator!= (const zip_iterator &other) const | 
| Checks if two zip_iteratorinstances are not equal.  More... | |
| zip_iterator & | operator++ () | 
| Advances the zip_iteratorby one position.  More... | |
| zip_iterator | operator+ (const std::size_t offset) const | 
| Returns a new zip_iteratoradvanced by a specified offset.  More... | |
| zip_iterator | operator+ (const zip_iterator &other) const | 
| Returns a new zip_iteratoradvanced by the distance between two iterators.  More... | |
| zip_iterator & | operator-- () | 
| Moves the zip_iteratorback by one position.  More... | |
| zip_iterator | operator- (const int offset) const | 
| Returns a new zip_iteratormoved back by a specified offset.  More... | |
| zip_iterator | operator- (const zip_iterator &other) const | 
| Returns the distance between two zip_iteratorinstances.  More... | |
Bidirectional iterator over multiple iterators simultaneously.
| Iterators | Types of the iterators to be zipped. Each iterator should support bidirectional iteration (i.e., it should support ++,--, and dereferencing). | 
| 
 | inlineexplicit | 
Constructs a zip_iterator from the provided iterators. 
| iterators | The iterators to be zipped together. | 
| 
 | inline | 
Checks if two zip_iterator instances are not equal. 
| other | The other zip_iteratorto compare with. | 
true if the iterators are not equal, false otherwise. | 
 | inline | 
Dereferences the zip_iterator to obtain a tuple of references from each iterator. 
| 
 | inline | 
Returns a new zip_iterator advanced by a specified offset. 
| offset | The number of positions to advance. | 
zip_iterator advanced by the specified offset. | 
 | inline | 
Returns a new zip_iterator advanced by the distance between two iterators. 
| other | The zip_iteratorto measure the distance to. | 
zip_iterator advanced by the distance to the specified iterator. | 
 | inline | 
Advances the zip_iterator by one position. 
zip_iterator. | 
 | inline | 
Returns a new zip_iterator moved back by a specified offset. 
| offset | The number of positions to move back. | 
zip_iterator moved back by the specified offset. | 
 | inline | 
Returns the distance between two zip_iterator instances. 
| other | The zip_iteratorto measure the distance from. | 
zip_iterator moved back by the distance to the specified iterator. | 
 | inline | 
Moves the zip_iterator back by one position. 
zip_iterator. | 
 | inline | 
Checks if two zip_iterator instances are equal. 
| other | The other zip_iteratorto compare with. | 
true if the iterators are equal, false otherwise.