Namensräume
Varianten
Aktionen

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

Von cppreference.com
 
 
Bereichsbibliothek
Range-Adaptoren
 
 
constexpr decltype(auto) operator*() const
    noexcept(/* siehe Beschreibung */);
(seit C++23)

Gibt das transformierte Element zurück, das durch Anwendung des aufrufbaren Objekts vom Typ F auf die zugrundeliegenden, zeigenden Elemente erhalten wird.

Äquivalent zu

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

wobei *parent_->fun_ die Transformationsfunktion ist, die in der übergeordneten ranges::zip_transform_view gespeichert ist, und current_ das zugrundeliegende Tupel von Iteratoren in Views... ist.

Inhalt

[bearbeiten] Parameter

(keine)

[bearbeiten] Rückgabewert

Das Element, das das Ergebnis der Transformation (Abbildung) ist.

[bearbeiten] Ausnahmen

noexcept-Spezifikation:  
noexcept(std::invoke(*parent_->fun_, *std::get<INTS>(inner_.current_)...))
wobei INTS die Ganzzahlenpackung 0, 1, ..., (sizeof...(Views)-1) ist.

[bearbeiten] Hinweise

operator-> wird nicht bereitgestellt.

Das Verhalten ist undefiniert, wenn der parent_-Zeiger auf die übergeordnete ranges::zip_transform_view null ist (z. B. wenn *this standardmäßig konstruiert wird).

[bearbeiten] Beispiel