Skip to content

midjji/zip_view

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zip_view

Basic c++17 zip iterator,

ever wanted to do

for(a,b,c : zip(as, bs, cs )) like in python?

This single header makes it possible to do

for(auto [index, a,b,c]: zip(as,bs, cs)){} for any iterable container (has begin,end)

which is equivalent to for(uint64_t index=0;index<min((as,bs,cs...).size());++index){ auto& a= as[index]; auto& b= bs[index]; auto& c= cs[index]; } for any number of containers

This is a zip view! meaning it wont copy and will let you change the returned references. (a,b,c) the tuple must be unpacked and will have index, + container elements. the return tuple is of references! meaning you can change the zipped container values. not for use with std algorithm without specialization.

// this is a low cost abstraction, ideally zero, but clang and gcc does not actually optimize these as well as the simpler loop.

About

Basic c++17 zip iterator,

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors