template<typename _Scalar, int _Rows, int _Cols, int _Options = AutoAlign | ( (_Rows==1 && _Cols!=1) ? Eigen::RowMajor : (_Cols==1 && _Rows!=1) ? Eigen::ColMajor : EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION ), int _MaxRows = _Rows, int _MaxCols = _Cols>
class Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >
General-purpose arrays with easy API for coefficient-wise operations.
The Array class is very similar to the Matrix class. It provides general-purpose one- and two-dimensional arrays. The difference between the Array and the Matrix class is primarily in the API: the API for the Array class provides easy access to coefficient-wise operations, while the API for the Matrix class provides easy access to linear-algebra operations.
See documentation of class Matrix for detailed information on the template parameters storage layout.
This class can be extended with the help of the plugin mechanism described on the page Extending MatrixBase (and other classes) by defining the preprocessor symbol EIGEN_ARRAY_PLUGIN
.
- See also
- The Array class and coefficient-wise operations, The class hierarchy
|
| Array () |
|
| Array (const Array &other) |
|
template<typename OtherDerived > |
| Array (const EigenBase< OtherDerived > &other) |
|
| Array (const Scalar &val0, const Scalar &val1) |
|
| Array (const Scalar &val0, const Scalar &val1, const Scalar &val2) |
|
| Array (const Scalar &val0, const Scalar &val1, const Scalar &val2, const Scalar &val3) |
|
| Array (const Scalar &value) |
|
| Array (const Scalar *data) |
| Constructs a fixed-sized array initialized with coefficients starting at data.
|
|
| Array (Index dim) |
|
| Array (Index rows, Index cols) |
|
const Scalar & | coeff (Index index) const |
|
const Scalar & | coeff (Index rowId, Index colId) const |
|
Scalar & | coeffRef (Index index) |
|
const Scalar & | coeffRef (Index index) const |
|
Scalar & | coeffRef (Index rowId, Index colId) |
|
const Scalar & | coeffRef (Index rowId, Index colId) const |
|
Array & | operator= (const Array &other) |
|
template<typename OtherDerived > |
Array & | operator= (const DenseBase< OtherDerived > &other) |
|
template<typename OtherDerived > |
Array & | operator= (const EigenBase< OtherDerived > &other) |
|
Array & | operator= (const Scalar &value) |
|
const Scalar & | coeff (Index index) const |
|
const Scalar & | coeff (Index rowId, Index colId) const |
|
Scalar & | coeffRef (Index index) |
|
const Scalar & | coeffRef (Index index) const |
|
Scalar & | coeffRef (Index rowId, Index colId) |
|
const Scalar & | coeffRef (Index rowId, Index colId) const |
|
void | conservativeResize (Index rows, Index cols) |
|
void | conservativeResize (Index rows, NoChange_t) |
|
void | conservativeResize (Index size) |
|
void | conservativeResize (NoChange_t, Index cols) |
|
template<typename OtherDerived > |
void | conservativeResizeLike (const DenseBase< OtherDerived > &other) |
|
Scalar * | data () |
|
const Scalar * | data () const |
|
template<typename OtherDerived > |
Derived & | lazyAssign (const DenseBase< OtherDerived > &other) |
|
template<typename OtherDerived > |
Derived & | operator= (const EigenBase< OtherDerived > &other) |
| Copies the generic expression other into *this.
|
|
Derived & | operator= (const PlainObjectBase &other) |
|
void | resize (Index rows, Index cols) |
|
void | resize (Index rows, NoChange_t) |
|
void | resize (Index size) |
|
void | resize (NoChange_t, Index cols) |
|
template<typename OtherDerived > |
void | resizeLike (const EigenBase< OtherDerived > &_other) |
|
Derived & | setConstant (Index size, const Scalar &val) |
|
Derived & | setConstant (Index rows, Index cols, const Scalar &val) |
|
Derived & | setZero (Index size) |
|
Derived & | setZero (Index rows, Index cols) |
|
Derived & | setOnes (Index size) |
|
Derived & | setOnes (Index rows, Index cols) |
|
Derived & | setRandom (Index size) |
|
Derived & | setRandom (Index rows, Index cols) |
|
|
static ConstMapType | Map (const Scalar *data) |
|
static MapType | Map (Scalar *data) |
|
static ConstMapType | Map (const Scalar *data, Index size) |
|
static MapType | Map (Scalar *data, Index size) |
|
static ConstMapType | Map (const Scalar *data, Index rows, Index cols) |
|
static MapType | Map (Scalar *data, Index rows, Index cols) |
|
static ConstAlignedMapType | MapAligned (const Scalar *data) |
|
static AlignedMapType | MapAligned (Scalar *data) |
|
static ConstAlignedMapType | MapAligned (const Scalar *data, Index size) |
|
static AlignedMapType | MapAligned (Scalar *data, Index size) |
|
static ConstAlignedMapType | MapAligned (const Scalar *data, Index rows, Index cols) |
|
static AlignedMapType | MapAligned (Scalar *data, Index rows, Index cols) |
|
template<int Outer, int Inner> |
static StridedConstMapType< Stride< Outer, Inner > >::type | Map (const Scalar *data, const Stride< Outer, Inner > &stride) |
|
template<int Outer, int Inner> |
static StridedMapType< Stride< Outer, Inner > >::type | Map (Scalar *data, const Stride< Outer, Inner > &stride) |
|
template<int Outer, int Inner> |
static StridedConstMapType< Stride< Outer, Inner > >::type | Map (const Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
|
template<int Outer, int Inner> |
static StridedMapType< Stride< Outer, Inner > >::type | Map (Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
|
template<int Outer, int Inner> |
static StridedConstMapType< Stride< Outer, Inner > >::type | Map (const Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
|
template<int Outer, int Inner> |
static StridedMapType< Stride< Outer, Inner > >::type | Map (Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
|
template<int Outer, int Inner> |
static StridedConstAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (const Scalar *data, const Stride< Outer, Inner > &stride) |
|
template<int Outer, int Inner> |
static StridedAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (Scalar *data, const Stride< Outer, Inner > &stride) |
|
template<int Outer, int Inner> |
static StridedConstAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (const Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
|
template<int Outer, int Inner> |
static StridedAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
|
template<int Outer, int Inner> |
static StridedConstAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (const Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
|
template<int Outer, int Inner> |
static StridedAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
|
template<typename OtherDerived > |
| PlainObjectBase (const DenseBase< OtherDerived > &other) |
|
template<typename OtherDerived > |
| PlainObjectBase (const EigenBase< OtherDerived > &other) |
|
| PlainObjectBase (const PlainObjectBase &other) |
|
template<typename OtherDerived > |
| PlainObjectBase (const ReturnByValue< OtherDerived > &other) |
| Copy constructor with in-place evaluation.
|
|
template<typename OtherDerived > |
void | _resize_to_match (const EigenBase< OtherDerived > &other) |
|
template<typename OtherDerived > |
Derived & | _set (const DenseBase< OtherDerived > &other) |
| Copies the value of the expression other into *this with automatic resizing.
|
|
template<typename OtherDerived > |
Derived & | _set_noalias (const DenseBase< OtherDerived > &other) |
|
template<typename T0 , typename T1 > |
void | _init2 (Index rows, Index cols, typename internal::enable_if< Base::SizeAtCompileTime!=2, T0 >::type *=0) |
|
template<typename T0 , typename T1 > |
void | _init2 (const T0 &val0, const T1 &val1, typename internal::enable_if< Base::SizeAtCompileTime==2, T0 >::type *=0) |
|
template<typename T0 , typename T1 > |
void | _init2 (const Index &val0, const Index &val1, typename internal::enable_if<(!internal::is_same< Index, Scalar >::value) &&(internal::is_same< T0, Index >::value) &&(internal::is_same< T1, Index >::value) &&Base::SizeAtCompileTime==2, T1 >::type *=0) |
|
template<typename T > |
void | _init1 (Index size, typename internal::enable_if<(Base::SizeAtCompileTime!=1||!internal::is_convertible< T, Scalar >::value) &&((!internal::is_same< typename internal::traits< Derived >::XprKind, ArrayXpr >::value||Base::SizeAtCompileTime==Dynamic)), T >::type *=0) |
|
template<typename T > |
void | _init1 (const Scalar &val0, typename internal::enable_if< Base::SizeAtCompileTime==1 &&internal::is_convertible< T, Scalar >::value, T >::type *=0) |
|
template<typename T > |
void | _init1 (const Index &val0, typename internal::enable_if<(!internal::is_same< Index, Scalar >::value) &&(internal::is_same< Index, T >::value) &&Base::SizeAtCompileTime==1 &&internal::is_convertible< T, Scalar >::value, T * >::type *=0) |
|
template<typename T > |
void | _init1 (const Scalar *data) |
|
template<typename T , typename OtherDerived > |
void | _init1 (const DenseBase< OtherDerived > &other) |
|
template<typename T , typename OtherDerived > |
void | _init1 (const EigenBase< OtherDerived > &other) |
|
template<typename T , typename OtherDerived > |
void | _init1 (const ReturnByValue< OtherDerived > &other) |
|
template<typename T , typename OtherDerived , int ColsAtCompileTime> |
void | _init1 (const RotationBase< OtherDerived, ColsAtCompileTime > &r) |
|
template<typename T > |
void | _init1 (const Scalar &val0, typename internal::enable_if< Base::SizeAtCompileTime!=Dynamic &&Base::SizeAtCompileTime!=1 &&internal::is_convertible< T, Scalar >::value &&internal::is_same< typename internal::traits< Derived >::XprKind, ArrayXpr >::value, T >::type *=0) |
|
template<typename T > |
void | _init1 (const Index &val0, typename internal::enable_if<(!internal::is_same< Index, Scalar >::value) &&(internal::is_same< Index, T >::value) &&Base::SizeAtCompileTime!=Dynamic &&Base::SizeAtCompileTime!=1 &&internal::is_convertible< T, Scalar >::value &&internal::is_same< typename internal::traits< Derived >::XprKind, ArrayXpr >::value, T * >::type *=0) |
|