C++1z(C++17)標準ライブラリでは、指定区間内に値を制限するstd::clamp
関数テンプレートが追加される。*1
#include <algorithm> int b = std::clamp(3, 1, 6); // 3 int a = std::clamp(0, 1, 6); // 1(下限値) int c = std::clamp(8, 1, 6); // 6(上限値)
同様の関数テンプレートはBoost.Algorithmライブラリでも提供される。
#include <boost/algorithm/clamp.hpp> int x = boost::algorithm::clamp(3, 1, 6);
関連URL