Add templated member operator() to std14::less<> and use it with clamp for a range without predicate (thanks to Niels Dekker).
Rename clamp.hpp() for a range to clamp_range() as in Boost and advocated by Niels Dekker.

"Prefer to not overload functions that are fundamentally different."

"Persoonlijk vind ik dat C++-programmeurs best wat minder mogen 'overloaden'. Ik vind het vaak verwarrend wanneer fundamenteel verschillende functies dezelfde naam hebben."
Add header guard
Add test for non-copyable type with clamp() (thanks to Niels Dekker)
Move test support functions to new file test_util.hpp
Add explicit return type to lambda in clamp_range() to make sure a reference is returned (thanks to Niels Dekker and James Dennett)