5 # ifndef VCCC_MATH_MATRIX_MATRIX_MUL_SCALAR_HPP
6 # define VCCC_MATH_MATRIX_MATRIX_MUL_SCALAR_HPP
10 # include <type_traits>
18 template<
typename LhsType,
typename RhsType>
19 struct traits<MatrixMulScalar<LhsType, RhsType>> {
21 rows = traits<LhsType>::rows,
22 cols = traits<LhsType>::cols,
27 option =
static_cast<int>(traits<LhsType>::option) |
static_cast<int>(Flag::kReferenceUnsafe)
29 using value_type =
typename LhsType::value_type;
38 template<
typename LhsType,
typename RhsType>
42 using lhs_type = internal::math::hold_type_selector_t<LhsType>;
43 using rhs_type =
const std::remove_reference_t<RhsType>;
60 MatrixMulScalar<LhsType, RhsType>
Definition: matrix_base.hpp:20
Definition: matrix_mul_scalar.hpp:39
const std::remove_reference_t< RhsType > rhs_type
Definition: matrix_mul_scalar.hpp:43
constexpr MatrixMulScalar(const LhsType &lhs, const RhsType &value)
Definition: matrix_mul_scalar.hpp:45
constexpr value_type operator[](std::size_t i) const
Definition: matrix_mul_scalar.hpp:51
internal::math::hold_type_selector_t< LhsType > lhs_type
Definition: matrix_mul_scalar.hpp:42
typename LhsType::value_type value_type
Definition: matrix_mul_scalar.hpp:41
constexpr value_type operator()(std::size_t i) const
Definition: matrix_mul_scalar.hpp:49
constexpr MatrixMulMatrix< E1, E2 > operator*(const MatrixBase< E1 > &lhs, const MatrixBase< E2 > &rhs)
Definition: matrix_mul_matrix.hpp:77
Definition: directory.h:12
constexpr auto size(const C &c) -> decltype(c.size())
Definition: size.hpp:16
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 1 > value
Definition: key_value.hpp:35
Definition: matrix_base.hpp:67