名前空間
変種
操作

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

From cppreference.com
 
 
Rangesライブラリ
Rangeアダプタ
 
 
constexpr decltype(auto) operator[]( difference_type n ) const
    requires ranges::random_access_range<Base>;
(C++23から)

指定された相対位置の要素を、変換後に返します。

以下と等価です。

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

ここで、*parent_->fun_ は、親の ranges::zip_transform_view に格納されている型 F の変換関数であり、current_Views... へのイテレータの基底となるタプルです。

目次

[編集] パラメータ

n - 現在の位置からの相対位置。

[編集] 戻り値

変換(マッピング)の結果である要素。

[編集] 注意

親の ranges::zip_transform_view へのポインタ parent_ が null の場合(例えば *this がデフォルト構築された場合)、未定義の動作となります。

[編集]

English 日本語 中文(简体) 中文(繁體)