Namensräume
Varianten
Aktionen

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

Von cppreference.com
 
 
Bereichsbibliothek
Range-Adaptoren
 
 
constexpr decltype(auto) operator[]( difference_type n ) const
    requires ranges::random_access_range<Base>;
(seit C++23)

Gibt das Element am angegebenen relativen Ort nach Transformation zurück.

Äquivalent zu

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

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

Inhalt

[bearbeiten] Parameter

n - Position relativ zur aktuellen Position.

[bearbeiten] Rückgabewert

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

[bearbeiten] Hinweise

Das Verhalten ist undefiniert, wenn der parent_-Zeiger auf die übergeordnete ranges::zip_transform_view Null ist (z. B. wenn *this standardkonstruiert ist).

[bearbeiten] Beispiel