| Home | Libraries | People | FAQ | More

## Struct template is_commutative

boost::mpi::is_commutative — Determine if a function object type is commutative.

## Synopsis

    // In header: <boost/mpi/operations.hpp>

    template<typename Op, typename T>
    struct is_commutative {
    };

## Description

This trait determines if an operation `Op` is commutative when applied to values of type `T`. Parallel operations such as `reduce` and `prefix_sum` can be implemented more efficiently with commutative operations. To mark an operation as commutative, users should specialize `is_commutative` and derive from the class `mpl::true_`.