Namespaces
Variants

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

Depuis fr.cppreference.net
 
 
Bibliothèque de plages
Adaptateurs de plages
 
 
constexpr decltype(auto) operator*() const
    noexcept(/* see description */);
(depuis C++23)

Retourne l'élément transformé obtenu par application de l'objet invocable de type F aux éléments pointés sous-jacents.

Équivalent à

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

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

Paramètres

(aucun)

Valeur de retour

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

Exceptions

noexcept spécification :
noexcept ( std:: invoke ( * parent_ - > fun_, * std :: get < INTS > ( inner_. current_ ) ... ) )
où INTS est le pack d'entiers 0, 1, ..., (sizeof...(Views)-1) .

Notes

operator - > n'est pas fourni.

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

Exemple