40class NestByValue :
public internal::dense_xpr_base<NestByValue<ExpressionType> >::type {
42 using Base =
typename internal::dense_xpr_base<NestByValue>::type;
43 static constexpr bool HasDirectAccess = internal::has_direct_access<ExpressionType>::value;
45 EIGEN_DENSE_PUBLIC_INTERFACE(NestByValue)
47 EIGEN_DEVICE_FUNC
constexpr explicit inline NestByValue(
const ExpressionType& matrix) : m_expression(matrix) {}
49 EIGEN_DEVICE_FUNC
constexpr Index rows()
const noexcept {
return m_expression.rows(); }
50 EIGEN_DEVICE_FUNC
constexpr Index cols()
const noexcept {
return m_expression.cols(); }
52 EIGEN_DEVICE_FUNC
constexpr operator const ExpressionType&()
const {
return m_expression; }
54 EIGEN_DEVICE_FUNC
constexpr const ExpressionType& nestedExpression()
const {
return m_expression; }
56 EIGEN_DEVICE_FUNC
constexpr std::enable_if_t<HasDirectAccess, const Scalar*> data()
const {
57 return m_expression.data();
60 EIGEN_DEVICE_FUNC
constexpr std::enable_if_t<HasDirectAccess, Index> innerStride()
const {
61 return m_expression.innerStride();
64 EIGEN_DEVICE_FUNC
constexpr std::enable_if_t<HasDirectAccess, Index> outerStride()
const {
65 return m_expression.outerStride();
69 const ExpressionType m_expression;