std::ranges::zip_transform_view<F,Views...>::iterator<Const>::operator[]
From cppreference.com
< cpp | ranges | zip transform view | iterator
| 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 がデフォルト構築された場合)、未定義の動作となります。
[編集] 例
| このセクションは未完成です 理由: 例がありません |