Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.
PrevUpHomeNext

Function template clamp

boost::algorithm::clamp

Synopsis

// In header: <boost/algorithm/clamp.hpp>


template<typename T, typename Pred> 
  BOOST_CXX14_CONSTEXPR T const & 
  clamp(T const & val, typename boost::mpl::identity< T >::type const & lo, 
        typename boost::mpl::identity< T >::type const & hi, Pred p);

Description

Parameters:

hi

The upper bound of the range to be clamped to

lo

The lower bound of the range to be clamped to

p

A predicate to use to compare the values. p ( a, b ) returns a boolean.

val

The value to be clamped

Returns:

the value "val" brought into the range [ lo, hi ] using the comparison predicate p. If p ( val, lo ) return lo. If p ( hi, val ) return hi. Otherwise, return the original value.


PrevUpHomeNext