template<class OtherIndexType>
static constexpr auto index-cast(OtherIndexType&& i) noexcept; // 説明専用
概要
多次元配列のインデクス型へと変換する、説明専用のメンバ関数である。
効果
remove_cvref_t<OtherIndexType>がbool型以外の整数型の場合、return i;と等価。- そうでない場合、
return static_cast<index_type>(i);と等価。
例外
投げない
バージョン
言語
- C++23
参照
- P0009R18 MDSPAN
- LWG Issue 4020.
extents::index-castweirdness- C++26で、効果の条件が
OtherIndexTypeからremove_cvref_t<OtherIndexType>に修正された。OtherIndexTypeは転送参照から推論されるため参照型になりえ、そのままでは整数型の左辺値がstatic_cast側の分岐に落ちてしまう問題を防ぐもの
- C++26で、効果の条件が