Boost 1.50.0で、Boost Algorithmライブラリが新たに追加されました。これからいくつか紹介していこうと思います。 今回はclamp()です。 clamp()は、最小値と最大値を設定した上で値を渡すと、その範囲内に値を収めてくれる関数です。 意味的には、min(max(minval, x), maxval)と同じになります。 以下の例では、値が0から10の範囲外だったらその範囲に収める、ということをしています。 #include <iostream> #include <boost/algorithm/clamp.hpp> int main() { using boost::algorithm::clamp; int x = 11; x = clamp(x, 0, 10); int y = -1; y = clamp(y, 0, 10); std::cout << x