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