...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
template< typename T1 , typename T2 > struct less { typedef unspecified type; };
Returns true_
if T1::value < T2::value
and false_
otherwise [1].
#include "boost/mpl/less.hpp"
Parameter | Requirement | Description |
---|---|---|
T1, T2 | A model of Integral Constant |
Expression | Expression type | Precondition | Semantics | Postcondition |
---|---|---|---|---|
typedef less<t1,t2>::type c; | A model of bool Integral Constant | Equivalent to typedef bool_<(t1::value < t2::value)> c; |
Amortized constant time.
typedef list_c<int,0,1,2,3,4,5,6,7,8,9> numbers; typedef remove_if< numbers, less<_1,int_<5> > >::type result; BOOST_STATIC_ASSERT(equal< result,range_c<int,5,10> >::type::value));
[1] The less
metafunction can be (and is expected to be) specialized by user to work on user-defined types that do not satisfy the Integral Constant requirements. The requirements listed here are the ones imposed by the default implementation.
Metafunctions, less_equal
, greater
, greater_equal
, equal
, not_equal_to