...one of the most highly
regarded and expertly designed C++ library projects in the
world.

— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards

Front Page / Metafunctions / Comparisons / greater_equal |

template< typename T1 , typename T2 > struct greater_equal { typedefunspecifiedtype; };

Returns a true-valued Integral Constant if `T1` is greater than or equal to `T2`.

#include <boost/mpl/greater_equal.hpp> #include <boost/mpl/comparison.hpp>

Parameter | Requirement | Description |
---|---|---|

T1, T2 |
Integral Constant | Operation's arguments. |

[*Note:* The requirements listed in this specification
are the ones imposed by the default implementation. See Numeric Metafunction concept
for the details on how to provide an implementation for a user-defined numeric type
that does not satisfy the Integral Constant requirements. — *end note*]

For any Integral Constants `c1` and `c2`:

typedef greater_equal<c1,c2>::type r;

Return type: | |
---|---|

Semantics: | Equivalent to typedef bool_< (c1::value < c2::value) > r; |

typedef greater_equal<c1,c2> r;

Return type: | |
---|---|

Semantics: | Equivalent to struct r : greater_equal<c1,c2>::type {}; |

Amortized constant time.

BOOST_MPL_ASSERT(( greater_equal< int_<10>, int_<0> > )); BOOST_MPL_ASSERT_NOT(( greater_equal< long_<0>, int_<10> > )); BOOST_MPL_ASSERT(( greater_equal< long_<10>, int_<10> > ));