...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::mpi::is_commutative — Determine if a function object type is commutative.
// In header: <boost/mpi/operations.hpp> template<typename Op, typename T> struct is_commutative : public mpl::false_ { };
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_
.