7 #ifndef MGCPP_EXPRESSIONS_SCALAR_DMAT_MULT_EXPR_HPP 8 #define MGCPP_EXPRESSIONS_SCALAR_DMAT_MULT_EXPR_HPP 10 #include <type_traits> 18 struct scalar_dmat_mult_expr_type;
20 template <
typename ScalExpr,
typename DMatExpr>
23 typename DMatExpr::result_type,
31 template <
typename Scalar,
33 typename =
typename std::enable_if<is_scalar<Scalar>::value>::type>
34 inline auto operator*(Scalar
const& scalar,
41 template <
typename Scalar,
43 typename =
typename std::enable_if<is_scalar<Scalar>::value>::type>
45 Scalar
const& scalar) noexcept;
51 template <
typename ScalExpr,
typename DMatExpr>
59 template <
typename ScalExpr,
typename DMatExpr>
67 template <
typename Scalar,
69 typename =
typename std::enable_if<is_scalar<Scalar>::value>::type>
70 inline auto mult(Scalar
const& scalar,
77 template <
typename Scalar,
79 typename =
typename std::enable_if<is_scalar<Scalar>::value>::type>
81 Scalar
const& scalar) noexcept;
87 template <
typename ScalExpr,
typename DMatExpr>
95 template <
typename ScalExpr,
typename DMatExpr>
Definition: adapter_base.hpp:12
dmat_dmat_mult_expr< LhsExpr, RhsExpr > mult(dmat_expr< LhsExpr > const &lhs, dmat_expr< RhsExpr > const &rhs) noexcept
binary_expr< scalar_dmat_mult_expr_type, dmat_expr, typename DMatExpr::result_type, ScalExpr, DMatExpr > scalar_dmat_mult_expr
Definition: scalar_dmat_mult.hpp:25
generic_expr< TagType, 0, ResultExprType, ResultType, 0, LhsExpr, RhsExpr > binary_expr
Definition: generic_expr.hpp:110
Definition: dmat_expr.hpp:19
Definition: scalar_expr.hpp:18
dmat_dmat_mult_expr< LhsExpr, RhsExpr > operator*(dmat_expr< LhsExpr > const &lhs, dmat_expr< RhsExpr > const &rhs) noexcept