|
rah
|
A range is anything that can be iterate. Typically in C++ something is a range if we can call begin(range) and end(range) on it.
In rah this is done by rah::iterator_range. Two way to create an iterator_range:
rah::iterator_range<iterator_type>(begin_iter, end_iter);rah::make_iterator_range (begin_iter, end_iter);A view is a range returned by a function an which doesn't modify it's input range.
The computing is often done in a "lazy" way, that is to say at the moment of iteration.
There is two kind of view:
rah::view::filter, rah::view::transformrah::view::iota, rah::view::generateThere is in rah an helper to create iterators: rah::iterator_facade There are three kind of rah::iterator_facade:
Use the rah::make_pipeable function.
1.8.15