Namespaces
Variants

std::ranges::stride_view<V>:: begin

From cppreference.net
Ranges library
Range adaptors
constexpr auto begin ( ) requires ( ! __simple_view < V > ) ;
(1) (depuis C++23)
constexpr auto begin ( ) const requires ranges:: range < const V > ;
(2) (depuis C++23)

Retourne un itérateur vers le premier élément de la stride_view .

1) Équivalent à return iterator < false > ( this, ranges:: begin ( base_ ) ) ; .
2) Équivalent à return iterator < true > ( this, ranges:: begin ( base_ ) ) ; .

La surcharge (1) ne participe pas à la résolution de surcharge si V est une vue simple (c'est-à-dire si V et const V sont des vues avec les mêmes types d'itérateur et de sentinelle).

Table des matières

Paramètres

(aucun)

Valeur de retour

Iterator vers le premier élément de la vue.

Exemple

Un lien pour tester : Compiler Explorer .

#include <print>
#include <ranges>
int main()
{
    constexpr auto v = {'A', 'B', 'C'};
    const auto x = v | std::views::stride(2);
    const auto y = v | std::views::reverse | std::views::stride(2);
    const auto z = v | std::views::stride(2) | std::views::reverse;
    std::println("{} {} {}", *x.begin(), *y.begin(), *z.begin());
}

Sortie :

A C C

Voir aussi

retourne un itérateur ou un sentinelle vers la fin
(fonction membre publique)