Struct template is_mpi_op
boost::mpi::is_mpi_op — Determine if a function object has an associated MPI_Op. 
 
Synopsis
template<typename Op, typename T> 
struct is_mpi_op : public false_ {
};
Description
Этот признак определяет, имеет ли объект функции типа<Op>, при использовании с типом аргумента<T>, ассоциированный<MPI_Op>. Если это так, то<is_mpi_op<Op,T>>будет выведено из<mpl::false_>и будет содержать статическую функцию<op>, которая не принимает никаких аргументов, но возвращает связанное<MPI_Op>значение. Например,<is_mpi_op<std::plus<int>>,int>::op()<MPI_SUM>.
Пользователи могут специализироваться<is_mpi_op>для любых других шаблонов классов, которые отображают операции, которые имеют<MPI_Op>эквивалентности, такие как побитовые ИЛИ, логические и или максимальные. Однако пользователям рекомендуется использовать стандартные функциональные объекты в заголовках<functional>и<boost/mpi/operations.hpp>, когда это возможно. Для функциональных объектов, которые являются шаблонами классов с одним параметром шаблона, может быть проще специализироваться<is_builtin_mpi_op>.