概要
imag-if-needed
は、必要に応じて複素数の虚部を返す、説明専用の関数オブジェクトである。
型T
の式E
に対して、式imag-if-needed(E)
は次と等価である。
-
T
が算術型でなく、式imag(E)
が下記宣言を含むコンテキストにおいてオーバーロード解決を行った結果が妥当であるとき、imag(E)
template<class T> T imag(const T&) = delete;
-
そうでない場合、
((void)E, T{})
備考
オーバーロード解決により選択された関数が入力された複素数の実部を返さないとき、プログラムは不適格となる。
バージョン
言語
- C++26