template< typename T1 , typaname T2 > struct equal_to { typedef unspecified type; };
Returns true_c
if T1::value == T2::value
and false_c
otherwise [1].
#include "boost/mpl/comparison/equal_to.hpp"
Parameter | Requirement | Description |
---|---|---|
T1, T2 | A model of Integral Constant |
Expression | Expression type | Precondition | Semantics | Postcondition |
---|---|---|---|---|
typedef equal_to<t1,t2>::type c; | A model of bool Integral Constant | Equivalent to typedef bool_c<(t1::value == t2::value)> c; |
Amortized constant time.
typedef list_c<int,1,2,3,5,7,12,19,31> fibonacci; typedef find_if< fibonacci, equal_to<_,int_c<12> > >::type iter; BOOST_STATIC_ASSERT(equal_to< distance< begin<fibonacci>::type, iter >::type, int_c<5> >::type::value));
[1] The equal_to
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, not_equal_to
, less
, less_equal
, greater
, greater_equal