概要
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