The MPL Reference Manual: max

Front Page / Metafunctions / Miscellaneous / max

# max

### Synopsis

    template<
          typename N1
        , typename N2
        >
    struct max
    {
        typedef unspecified type;
    };

### Description

Returns the larger of its two arguments.

### Header

    #include <boost/mpl/min_max.hpp>

### Model of

Metafunction

### Parameters

Parameter | Requirement | Description
--- | --- | ---
`N1`, `N2` | Any type | Types to compare.

### Expression semantics

For arbitrary types `x` and `y`:

    typedef max<x,y>::type r;

Return type: | A type.
Precondition: | `less<x,y>::value` is a well-formed integral constant expression.
Semantics: | Equivalent to
    typedef if_< less<x,y>,y,x >::type r;

### Complexity

Constant time.

### Example

    typedef fold<
          vector_c<int,1,7,0,-2,5,-1>
        , int_<10>
        , max<_1,_2>
        >::type r;

    BOOST_MPL_ASSERT(( is_same< r, int_<10> > ));

### See also

Metafunctions, comparison, `min`, `less`, `max_element`