Ranges ====== .. cpp:namespace:: hysj Fold ---- :cpp:include:`#include` Stolen from `P2322R0 `_. .. cpp:function:: unspecified ranges::fold(auto &&r,auto init,auto op,auto proj) | Fold range. | Borrowable Filter ^^^^^^^^^^^^^^^^^ :cpp:include:`#include` Borrowable :cppref:`std::views::filter `. .. cpp:function:: unspecified views::bfilter(auto &&d,auto p) | Borrowable Transform ^^^^^^^^^^^^^^^^^^^^ :cpp:include:`#include` Borrowable :cppref:`std::views::transform `. .. cpp:function:: unspecified views::btransform(auto &&d,auto &&f) | Borrowable Join ^^^^^^^^^^^^^^^ :cpp:include:`#include` Borrowable :cppref:`std::views::join `. .. cpp:function:: unspecified views::bjoin(auto &&outer) | Common Concat ------------- :cpp:include:`#include` .. cpp:function:: unspecified views::common_concat(auto &&...inner) | Concatenates a sequence of views of the same type. Propagates borrowability. | Enumerate --------- :cpp:include:`#include` Stolen from `P2164R1 `_. Linear Span ----------- :cpp:include:`#include` Reversible and strideable :cppref:`std::span `. .. cpp:function:: unspecified views::span(auto &&range,auto stride,auto eetent) | Constructs a linear span. | Utility ------- :cpp:include:`#include` .. cpp:var:: unspecified ranges::to_vector(auto range,auto projection) unspecified ranges::to_map(auto range,auto projection) | Project :cpp:expr:`range` into :cppref:`std::vector ` or :cppref:`std::map `. | .. cpp:function:: unspecified views::indices(std::integral auto N) unspecified views::indices(std::ranges::range auto R) | Creates view of indices :math:`[0,N)`. | .. cpp:function:: unspecified views::one(x) | Analogue to :cppref:`std::views::all ` for single values. Creates a span for lvalue-references, and a :cppref:`std::views::single ` for rvalue-references. |