boost::mpl::if_< boost::mpl::and_< typename ExpressionTraits< Argument1 >::IsScalar, typename ExpressionTraits< Argument2 >::IsScalar >, typename BinaryFunction::result_type, detail::BinaryOpExpression< Argument1, Argument2, BinaryFunction > >::type type
UnaryFunction::result_type vectorize(UnaryFunction const &functor, Scalar const &scalar)
Apply a non-mutating unary function object to a scalar.