seertaak 6 hours ago

Excellent write-up! Many thanks for your effort.

IIUC, the iterators stuff basically makes the task of creating iterator adaptors easier. Note that boost already provides similar facilities in the STLInterfaces library:

https://www.boost.org/doc/libs/latest/doc/html/stl_interface...

Note also that Joaquín López Muñoz has created a very interesting range iterator library which is based on push semantics. These have better performance, which is is intuitively reasonable (for me at least).

https://github.com/joaquintides/transrangers

Haven't had a chance to play around with them yet, but they look pretty cool.