std::ranges::chunk_view<V>:: chunk_view
From cppreference.net
<
cpp
|
ranges
|
chunk view
C++
Ranges library
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
std::ranges::chunk_view
| Member functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
chunk_view::chunk_view
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
(C++26)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
constexpr
explicit
chunk_view
(
V base,
ranges::
range_difference_t
<
V
>
n
)
;
|
(depuis C++23) | |
Construit un
chunk_view
, initialisant les membres de données sous-jacents :
-
construit par déplacement
base_avec std :: move ( base ) , -
initialise la "taille de chunk"
n_avec n .
De plus, si
V
modélise exactement le
input_range
, le constructeur initialise les membres de données suivants, uniquement à titre d'exposition :
-
initialise le
remainder_avec 0 , -
initialise par défaut
le
current_.
Le comportement est indéfini si n est inférieur ou égal à 0 .
Paramètres
| base | - | la vue adaptée |
| n | - | la taille du bloc |
Exemple
Exécuter ce code
#include <algorithm> #include <iostream> #include <ranges> int main() { auto i = std::views::iota(0, 10); auto w = std::ranges::chunk_view(i, 4); std::ranges::for_each(w, [](auto const v) { for (auto e : v) std::cout << e << ' '; std::cout << '\n'; }); }
Sortie :
0 1 2 3 4 5 6 7 8 9