=============== Ranges (detail) =============== .. contents:: :local: .. cpp:namespace:: mln::concepts SegmentedRange ############## .. cpp:concept:: template SegmentedRange #. Refines the :cpp:concept:`ForwardRange (stl) ` concept. #. ``SegRng`` provides the method ``rows``. **Notation** .. cpp:var:: SegRng rng **Valid Expressions** - All expression from :cpp:concept:`ForwardRange (stl) ` are valid. - :cpp:expr:`rng.rows()` return-type models :cpp:concept:`ForwardRange (stl) `. - :cpp:expr:`stl::iter_value_t>>>` must be the same as :cpp:expr:`stl::iter_value_t>`. **Implementation** .. literalinclude:: ../../../../pylene/include/mln/core/concepts/range.hpp :language: cpp :lines: 15-23 ReversibleRange ############### .. cpp:concept:: template ReversibleRange #. Refines the :cpp:concept:`ForwardRange (stl) ` concept. #. ``RevRng`` provides the method ``reversed``. **Notation** .. cpp:var:: RevRng rng **Valid Expressions** - All expression from :cpp:concept:`ForwardRange (stl) ` are valid. - :cpp:expr:`rng.reversed()` return-type models :cpp:concept:`ForwardRange (stl) `. - :cpp:expr:`stl::iter_value_t>>` must be the same as :cpp:expr:`stl::iter_value_t>`. **Implementation** .. literalinclude:: ../../../../pylene/include/mln/core/concepts/range.hpp :language: cpp :lines: 27-35