An easy-to-use, header-only C++20 iterator library built on CRTP (Curiously Recurring Template Pattern).
- CRTP-based iterator base for zero-overhead composable iterators
- Lazy combinator views:
filter,map,chain,zip,enumerate,take,skip,on_each - C++20 concepts for iterator constraints (
crtp_iterator/concepts.h) Option<T>-style value wrapper (base/Option.h)- Collection adapters:
array,bounded_range
#include "iterator.h"
auto result = range(0, 10)
| filter([](int x) { return x % 2 == 0; })
| map([](int x) { return x * x; });cmake -B build && cmake --build build
./build/iterator_tests- C++20 compiler (GCC 11+ / Clang 14+ / MSVC 2022)
MIT