General-purpose arrays with easy API for coefficient-wise operations. More...
Inheritance diagram for Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >:Public Member Functions | |
| Array () | |
| Array (Index dim) | |
| Array (Index rows, Index cols) | |
| Array (const Scalar &x, const Scalar &y) | |
| Array (const Scalar &x, const Scalar &y, const Scalar &z) | |
| Array (const Scalar &x, const Scalar &y, const Scalar &z, const Scalar &w) | |
| template<typename OtherDerived > | |
| Array (const ArrayBase< OtherDerived > &other) | |
| Array (const Array &other) | |
| template<typename OtherDerived > | |
| Array (const ReturnByValue< OtherDerived > &other) | |
| template<typename OtherDerived > | |
| Array (const EigenBase< OtherDerived > &other) | |
| template<typename OtherDerived > | |
| Array & | operator= (const EigenBase< OtherDerived > &other) |
| template<typename OtherDerived > | |
| Array & | operator= (const ArrayBase< OtherDerived > &other) |
| Array & | operator= (const Array &other) |
| template<typename OtherDerived > | |
| void | swap (ArrayBase< OtherDerived > const &other) |
Public Member Functions inherited from PlainObjectBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > > | |
| void | conservativeResize (Index rows, Index cols) |
| void | conservativeResize (Index rows, NoChange_t) |
| void | conservativeResize (NoChange_t, Index cols) |
| void | conservativeResize (Index size) |
| void | conservativeResizeLike (const DenseBase< OtherDerived > &other) |
| const Scalar * | data () const |
| Scalar * | data () |
| Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | lazyAssign (const DenseBase< OtherDerived > &other) |
| Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | operator= (const PlainObjectBase &other) |
| PlainObjectBase (const EigenBase< OtherDerived > &other) | |
| void | resize (Index rows, Index cols) |
| void | resize (Index size) |
| void | resize (NoChange_t, Index cols) |
| void | resize (Index rows, NoChange_t) |
| void | resizeLike (const EigenBase< OtherDerived > &_other) |
Additional Inherited Members | |
Static Public Member Functions inherited from PlainObjectBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > > | |
| 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 StridedConstMapType < Stride< Outer, Inner > >::type | Map (const Scalar *data, const Stride< Outer, Inner > &stride) |
|
static StridedMapType< Stride < Outer, Inner > >::type | Map (Scalar *data, const Stride< Outer, Inner > &stride) |
|
static StridedConstMapType < Stride< Outer, Inner > >::type | Map (const Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
|
static StridedMapType< Stride < Outer, Inner > >::type | Map (Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
|
static StridedConstMapType < Stride< Outer, Inner > >::type | Map (const Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
|
static StridedMapType< Stride < Outer, Inner > >::type | Map (Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
| 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) |
|
static StridedConstAlignedMapType < Stride< Outer, Inner > >::type | MapAligned (const Scalar *data, const Stride< Outer, Inner > &stride) |
|
static StridedAlignedMapType < Stride< Outer, Inner > >::type | MapAligned (Scalar *data, const Stride< Outer, Inner > &stride) |
|
static StridedConstAlignedMapType < Stride< Outer, Inner > >::type | MapAligned (const Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
|
static StridedAlignedMapType < Stride< Outer, Inner > >::type | MapAligned (Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
|
static StridedConstAlignedMapType < Stride< Outer, Inner > >::type | MapAligned (const Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
|
static StridedAlignedMapType < Stride< Outer, Inner > >::type | MapAligned (Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
Protected Member Functions inherited from PlainObjectBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > > | |
| Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | _set (const DenseBase< OtherDerived > &other) |
Copies the value of the expression other into *this with automatic resizing. | |
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.
This class can be extended with the help of the plugin mechanism described on the page Customizing/Extending Eigen by defining the preprocessor symbol EIGEN_ARRAY_PLUGIN.
|
inlineexplicit |
Default constructor.
For fixed-size matrices, does nothing.
For dynamic-size matrices, creates an empty matrix of size 0. Does not allocate any array. Such a matrix is called a null matrix. This constructor is the unique way to create null matrices: resizing a matrix to 0 is not supported.
|
inlineexplicit |
Constructs a vector or row-vector with given dimension. This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column.
Note that this is only useful for dynamic-size vectors. For fixed-size vectors, it is redundant to pass the dimension here, so it makes more sense to use the default constructor Matrix() instead.
| Array | ( | Index | rows, |
| Index | cols | ||
| ) |
constructs an uninitialized matrix with rows rows and cols columns.
This is useful for dynamic-size matrices. For fixed-size matrices, it is redundant to pass these parameters, so one should use the default constructor Matrix() instead.
| Array | ( | const Scalar & | x, |
| const Scalar & | y | ||
| ) |
constructs an initialized 2D vector with given coefficients
|
inline |
constructs an initialized 3D vector with given coefficients
|
inline |
constructs an initialized 4D vector with given coefficients
Constructor copying the value of the expression other
Copy constructor
|
inline |
Copy constructor with in-place evaluation
The usage of using Base::operator=; fails on MSVC. Since the code below is working with GCC and MSVC, we skipped the usage of 'using'. This should be done only for operator=.
Reimplemented from PlainObjectBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
Copies the value of the expression other into *this with automatic resizing.
*this might be resized to match the dimensions of other. If *this was a null matrix (not already initialized), it will be initialized.
Note that copying a row-vector into a vector (and conversely) is allowed. The resizing, if any, is then done in the appropriate way so that row-vectors remain row-vectors and vectors remain vectors.
|
inline |
This is a special case of the templated operator=. Its purpose is to prevent a default operator= from hiding the templated operator=.
|
inline |
Override MatrixBase::swap() since for dynamic-sized matrices of same type it is enough to swap the data pointers.
1.8.1.2