名前空間
変種
操作

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

From cppreference.com
 
 
Rangesライブラリ
Rangeアダプタ
 
 
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がデフォルト構築された場合)、動作は未定義です。

[編集]

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