17template<
typename PlainObjectType,
int MapOptions,
typename Str
ideType>
19 :
public traits<PlainObjectType>
24 ? PlainObjectType::ColsAtCompileTime
25 : PlainObjectType::RowsAtCompileTime,
27 InnerStrideAtCompileTime = StrideType::InnerStrideAtCompileTime == 0
28 ? int(PlainObjectType::InnerStrideAtCompileTime)
29 : int(StrideType::InnerStrideAtCompileTime),
30 OuterStrideAtCompileTime = StrideType::OuterStrideAtCompileTime == 0
31 ? (InnerStrideAtCompileTime==
Dynamic || PlainObjectTypeInnerSize==
Dynamic
33 : int(InnerStrideAtCompileTime) * int(PlainObjectTypeInnerSize))
34 : int(StrideType::OuterStrideAtCompileTime),
36 Flags0 = TraitsBase::Flags & (~NestByRefBit),
94template<
typename PlainObjectType,
int MapOptions,
typename Str
ideType>
class Map
95 :
public MapBase<Map<PlainObjectType, MapOptions, StrideType> >
100 EIGEN_DENSE_PUBLIC_INTERFACE(
Map)
102 typedef typename Base::PointerType PointerType;
103 typedef PointerType PointerArgType;
105 inline PointerType cast_to_pointer_type(PointerArgType ptr) {
return ptr; }
107 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
108 inline Index innerStride()
const
110 return StrideType::InnerStrideAtCompileTime != 0 ? m_stride.inner() : 1;
113 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
114 inline Index outerStride()
const
116 return StrideType::OuterStrideAtCompileTime != 0 ? m_stride.outer()
118 : IsVectorAtCompileTime ? (this->size() * innerStride())
119 : int(Flags)&
RowMajorBit ? (this->cols() * innerStride())
120 : (this->rows() * innerStride());
129 explicit inline Map(PointerArgType dataPtr,
const StrideType& stride = StrideType())
130 :
Base(cast_to_pointer_type(dataPtr)), m_stride(stride)
132 PlainObjectType::Base::_check_template_params();
142 inline Map(PointerArgType dataPtr,
Index size,
const StrideType& stride = StrideType())
143 :
Base(cast_to_pointer_type(dataPtr), size), m_stride(stride)
145 PlainObjectType::Base::_check_template_params();
156 inline Map(PointerArgType dataPtr,
Index rows,
Index cols,
const StrideType& stride = StrideType())
157 :
Base(cast_to_pointer_type(dataPtr), rows, cols), m_stride(stride)
159 PlainObjectType::Base::_check_template_params();
162 EIGEN_INHERIT_ASSIGNMENT_OPERATORS(
Map)
Definition ForwardDeclarations.h:112
A matrix or vector expression mapping an existing array of data.
Definition Map.h:96
EIGEN_DEVICE_FUNC Map(PointerArgType dataPtr, Index size, const StrideType &stride=StrideType())
Constructor in the dynamic-size vector case.
Definition Map.h:142
EIGEN_DEVICE_FUNC Map(PointerArgType dataPtr, Index rows, Index cols, const StrideType &stride=StrideType())
Constructor in the dynamic-size matrix case.
Definition Map.h:156
EIGEN_DEVICE_FUNC Map(PointerArgType dataPtr, const StrideType &stride=StrideType())
Constructor in the fixed-size case.
Definition Map.h:129
Base class for all dense matrices, vectors, and expressions.
Definition MatrixBase.h:50
const unsigned int RowMajorBit
for a matrix, this means that the storage order is row-major.
Definition Constants.h:66
Namespace containing all symbols from the Eigen library.
Definition LDLT.h:16
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:74
const int Dynamic
This value means that a positive quantity (e.g., a size) is not known at compile-time,...
Definition Constants.h:22
Definition XprHelper.h:660
Definition ForwardDeclarations.h:17