Public Types | Public Member Functions | Friends | List of all members
Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > Class Template Reference

General-purpose arrays with easy API for coefficient-wise operations. More...

#include <Array.h>

Inheritance diagram for Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >:
Inheritance graph
[legend]

Public Types

enum  { Options = _Options }
 
typedef PlainObjectBase< ArrayBase
 
typedef Base::PlainObject PlainObject
 
- Public Types inherited from Eigen::PlainObjectBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >
enum  
 
enum  
 
typedef Eigen::Map< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >, Aligned > AlignedMapType
 
typedef internal::dense_xpr_base< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::type Base
 
typedef const Eigen::Map< const Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >, Aligned > ConstAlignedMapType
 
typedef const Eigen::Map< const Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >, Unaligned > ConstMapType
 
typedef Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > DenseType
 
typedef internal::traits< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::Index Index
 
typedef Eigen::Map< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >, Unaligned > MapType
 
typedef internal::packet_traits< Scalar >::type PacketScalar
 
typedef NumTraits< Scalar >::Real RealScalar
 
typedef internal::traits< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::Scalar Scalar
 
typedef internal::traits< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::StorageKind StorageKind
 

Public Member Functions

EIGEN_STRONG_INLINE Array ()
 
 Array (internal::constructor_without_unaligned_array_assert)
 
EIGEN_STRONG_INLINE Array (Index dim)
 
template<typename T0 , typename T1 >
EIGEN_STRONG_INLINE Array (const T0 &val0, const T1 &val1)
 
EIGEN_STRONG_INLINE Array (const Scalar &val0, const Scalar &val1, const Scalar &val2)
 
EIGEN_STRONG_INLINE Array (const Scalar &val0, const Scalar &val1, const Scalar &val2, const Scalar &val3)
 
 Array (const Scalar *data)
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE Array (const ArrayBase< OtherDerived > &other)
 
EIGEN_STRONG_INLINE Array (const Array &other)
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE Array (const ReturnByValue< OtherDerived > &other)
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE Array (const EigenBase< OtherDerived > &other)
 
Index innerStride () const
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE Arrayoperator= (const EigenBase< OtherDerived > &other)
 
template<typename OtherDerived >
EIGEN_STRONG_INLINE Arrayoperator= (const ArrayBase< OtherDerived > &other)
 
EIGEN_STRONG_INLINE Arrayoperator= (const Array &other)
 
Index outerStride () const
 
template<typename OtherDerived >
void swap (ArrayBase< OtherDerived > const &other)
 
- Public Member Functions inherited from Eigen::PlainObjectBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >
Basebase ()
 
const Basebase () const
 
EIGEN_STRONG_INLINE const Scalarcoeff (Index rowId, Index colId) const
 
EIGEN_STRONG_INLINE const Scalarcoeff (Index index) const
 
EIGEN_STRONG_INLINE ScalarcoeffRef (Index rowId, Index colId)
 
EIGEN_STRONG_INLINE ScalarcoeffRef (Index index)
 
EIGEN_STRONG_INLINE const ScalarcoeffRef (Index rowId, Index colId) const
 
EIGEN_STRONG_INLINE const ScalarcoeffRef (Index index) const
 
EIGEN_STRONG_INLINE Index cols () const
 
EIGEN_STRONG_INLINE void conservativeResize (Index nbRows, Index nbCols)
 
EIGEN_STRONG_INLINE void conservativeResize (Index nbRows, NoChange_t)
 
EIGEN_STRONG_INLINE void conservativeResize (NoChange_t, Index nbCols)
 
EIGEN_STRONG_INLINE void conservativeResize (Index size)
 
EIGEN_STRONG_INLINE void conservativeResizeLike (const DenseBase< OtherDerived > &other)
 
EIGEN_STRONG_INLINE const Scalardata () const
 
EIGEN_STRONG_INLINE Scalardata ()
 
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & lazyAssign (const DenseBase< OtherDerived > &other)
 
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & operator= (const PlainObjectBase &other)
 
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & operator= (const ReturnByValue< OtherDerived > &func)
 
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & operator= (const EigenBase< OtherDerived > &other)
 
EIGEN_STRONG_INLINE PacketScalar packet (Index rowId, Index colId) const
 
EIGEN_STRONG_INLINE PacketScalar packet (Index index) const
 
EIGEN_STRONG_INLINE PlainObjectBase ()
 
 PlainObjectBase (internal::constructor_without_unaligned_array_assert)
 
EIGEN_STRONG_INLINE PlainObjectBase (Index a_size, Index nbRows, Index nbCols)
 
EIGEN_STRONG_INLINE PlainObjectBase (const EigenBase< OtherDerived > &other)
 
EIGEN_STRONG_INLINE void resize (Index nbRows, Index nbCols)
 
void resize (Index size)
 
void resize (NoChange_t, Index nbCols)
 
void resize (Index nbRows, NoChange_t)
 
EIGEN_STRONG_INLINE void resizeLike (const EigenBase< OtherDerived > &_other)
 
EIGEN_STRONG_INLINE Index rows () const
 
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & setConstant (Index size, const Scalar &value)
 
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & setConstant (Index rows, Index cols, const Scalar &value)
 
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & setOnes (Index size)
 
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & setOnes (Index rows, Index cols)
 
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & setRandom (Index size)
 
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & setRandom (Index rows, Index cols)
 
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & setZero (Index size)
 
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & setZero (Index rows, Index cols)
 
EIGEN_STRONG_INLINE void writePacket (Index rowId, Index colId, const PacketScalar &val)
 
EIGEN_STRONG_INLINE void writePacket (Index index, const PacketScalar &val)
 

Friends

template<typename Derived , typename OtherDerived , bool IsVector>
struct internal::conservative_resize_like_impl
 
template<typename MatrixType , typename OtherDerived , bool SwapPointers>
struct internal::matrix_swap_impl
 

Additional Inherited Members

- Static Public Member Functions inherited from Eigen::PlainObjectBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >
static EIGEN_STRONG_INLINE void _check_template_params ()
 
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 Eigen::PlainObjectBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >
EIGEN_STRONG_INLINE void _init2 (Index nbRows, Index nbCols, typename internal::enable_if< Base::SizeAtCompileTime!=2, T0 >::type *=0)
 
EIGEN_STRONG_INLINE void _init2 (const Scalar &val0, const Scalar &val1, typename internal::enable_if< Base::SizeAtCompileTime==2, T0 >::type *=0)
 
EIGEN_STRONG_INLINE void _resize_to_match (const EigenBase< OtherDerived > &other)
 
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & _set (const DenseBase< OtherDerived > &other)
 Copies the value of the expression other into *this with automatic resizing. More...
 
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & _set_noalias (const DenseBase< OtherDerived > &other)
 
EIGEN_STRONG_INLINE void _set_selector (const OtherDerived &other, const internal::true_type &)
 
EIGEN_STRONG_INLINE void _set_selector (const OtherDerived &other, const internal::false_type &)
 
void _swap (DenseBase< OtherDerived > const &other)
 
- Protected Attributes inherited from Eigen::PlainObjectBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >
DenseStorage< Scalar, Base::MaxSizeAtCompileTime, Base::RowsAtCompileTime, Base::ColsAtCompileTime, Optionsm_storage
 

Detailed Description

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
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.

This class can be extended with the help of the plugin mechanism described on the page TopicCustomizingEigen by defining the preprocessor symbol EIGEN_ARRAY_PLUGIN.

See also
TutorialArrayClass, TopicClassHierarchy

Definition at line 42 of file Array.h.

Member Typedef Documentation

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
typedef PlainObjectBase<Array> Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Base

Definition at line 47 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
typedef Base::PlainObject Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::PlainObject

Definition at line 51 of file Array.h.

Member Enumeration Documentation

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
anonymous enum
Enumerator
Options 

Definition at line 50 of file Array.h.

Constructor & Destructor Documentation

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( )
inline

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.

See also
resize(Index,Index)

Definition at line 110 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( internal::constructor_without_unaligned_array_assert  )
inline

Definition at line 119 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( Index  dim)
inlineexplicit

Constructs a vector or row-vector with given dimension.

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.

Definition at line 133 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename T0 , typename T1 >
EIGEN_STRONG_INLINE Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( const T0 &  val0,
const T1 &  val1 
)
inline

Definition at line 145 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( const Scalar val0,
const Scalar val1,
const Scalar val2 
)
inline

constructs an initialized 3D vector with given coefficients

Definition at line 162 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( const Scalar val0,
const Scalar val1,
const Scalar val2,
const Scalar val3 
)
inline

constructs an initialized 4D vector with given coefficients

Definition at line 171 of file Array.h.

template<typename _Scalar , int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( const Scalar data)
inlineexplicit

Definition at line 178 of file Map.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
EIGEN_STRONG_INLINE Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( const ArrayBase< OtherDerived > &  other)
inline

Constructor copying the value of the expression other

Definition at line 185 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( const Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &  other)
inline

Copy constructor

Definition at line 192 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
EIGEN_STRONG_INLINE Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( const ReturnByValue< OtherDerived > &  other)
inline

Copy constructor with in-place evaluation

Definition at line 200 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
EIGEN_STRONG_INLINE Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( const EigenBase< OtherDerived > &  other)
inline

Member Function Documentation

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
Index Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::innerStride ( ) const
inline

Definition at line 224 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
EIGEN_STRONG_INLINE Array& Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::operator= ( const EigenBase< OtherDerived > &  other)
inline

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=.

Definition at line 72 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
EIGEN_STRONG_INLINE Array& Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::operator= ( const ArrayBase< OtherDerived > &  other)
inline

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.

Definition at line 87 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Array& Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::operator= ( const Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &  other)
inline

This is a special case of the templated operator=. Its purpose is to prevent a default operator= from hiding the templated operator=.

Definition at line 95 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
Index Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::outerStride ( ) const
inline

Definition at line 225 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
void Eigen::Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::swap ( ArrayBase< OtherDerived > const &  other)
inline

Override MatrixBase::swap() since for dynamic-sized matrices of same type it is enough to swap the data pointers.

Definition at line 221 of file Array.h.

Friends And Related Function Documentation

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename Derived , typename OtherDerived , bool IsVector>
friend struct internal::conservative_resize_like_impl
friend

Definition at line 55 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename MatrixType , typename OtherDerived , bool SwapPointers>
friend struct internal::matrix_swap_impl
friend

Definition at line 234 of file Array.h.


The documentation for this class was generated from the following files:


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:35:27