Namespaces
Variants

std::ranges::zip_transform_view<F, Views...>::iterator<Const>::operator[]

Depuis fr.cppreference.net
 
 
Bibliothèque de ranges
Adaptateurs de ranges
 
 
constexpr decltype(auto) operator[]( difference_type n ) const
    requires ranges::random_access_range<Base>;
(depuis C++23)

Retourne l'élément à l'emplacement relatif spécifié, après transformation.

Équivaut à

return
    std::apply
    (
        [&]<class... Is>(const Is&... iters) -> decltype(auto)
        {
            return std::invoke(*parent_->fun_, iters[std::iter_difference_t<Is>(n)]...);
        },
        inner_.current_
    );

où *parent_->fun_ est la fonction de transformation de type F stockée dans le ranges::zip_transform_view parent, et current_ est le tuple sous-jacent des itérateurs dans Views....

Paramètres

n - position relative à l'emplacement actuel.

Valeur de retour

L'élément qui résulte de la transformation (mapping).

Notes

Le comportement n'est pas défini si le parent_ pointeur vers le parent ranges::zip_transform_view est nul (par exemple si * this est construit par défaut).

Exemple