std::ranges::zip_transform_view<F,Views...>::iterator<Const>::operator*
From cppreference.com
< cpp | ranges | zip transform view | iterator
| constexpr decltype(auto) operator*() const noexcept(/* 説明参照 */); |
(C++23から) | |
基底となるポインタ先の要素に、型Fの呼び出し可能オブジェクトを適用して得られる、変換された要素を返します。
以下と等価です。
return std::apply ( [&](auto const&... iters) -> decltype(auto) { return std::invoke(*parent_->fun_, *iters...); }, inner_.current_ );
*parent_->fun_は、親のranges::zip_transform_viewに格納されている変換関数であり、current_はViews...へのイテレータの基底となるタプルです。
目次 |
[編集] パラメータ
(なし)
[編集] 戻り値
変換(マッピング)の結果である要素。
[編集] 例外
noexcept 指定:
noexcept(std::invoke(*parent_->fun_, *std::get<INTS>(inner_.current_)...))
- ここで
INTSは整数のパック0, 1, ..., (sizeof...(Views)-1)です。
- ここで
[編集] 注意
operator-> は提供されていません。
親のranges::zip_transform_viewへのparent_ポインタがnullの場合(例えば、*thisがデフォルト構築された場合)、動作は未定義です。
[編集] 例
| このセクションは未完成です 理由: 例がありません |