Public Types | Public Member Functions | Friends
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 Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >:
Inheritance graph
[legend]

List of all members.

Public Types

enum  { Options = _Options }
enum  { NeedsToAlign }
typedef PlainObjectBase< ArrayBase
typedef Base::PlainObject PlainObject

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 &x, const T1 &y)
EIGEN_STRONG_INLINE Array (const Scalar &x, const Scalar &y, const Scalar &z)
EIGEN_STRONG_INLINE Array (const Scalar &x, const Scalar &y, const Scalar &z, const Scalar &w)
 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)

Friends

struct internal::conservative_resize_like_impl
struct internal::matrix_swap_impl

Detailed Description

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
class 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 Customizing/Extending Eigen by defining the preprocessor symbol EIGEN_ARRAY_PLUGIN.

See also:
Tutorial page 3 - The Array class and coefficient-wise operations, The class hierarchy

Definition at line 55 of file Array.h.


Member Typedef Documentation

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

Definition at line 64 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 63 of file Array.h.

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

Definition at line 72 of file Array.h.


Constructor & Destructor Documentation

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

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 125 of file Array.h.

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

Definition at line 134 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( Index  dim) [inline, explicit]

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 148 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 Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( const T0 &  x,
const T1 &  y 
) [inline]

Definition at line 160 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( const Scalar x,
const Scalar y,
const Scalar z 
) [inline]

constructs an initialized 3D vector with given coefficients

Definition at line 177 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( const Scalar x,
const Scalar y,
const Scalar z,
const Scalar w 
) [inline]

constructs an initialized 4D vector with given coefficients

Definition at line 186 of file Array.h.

template<typename _Scalar , int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array ( const Scalar data) [inline, explicit]

Definition at line 193 of file Map.h.

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

Constructor copying the value of the expression other

Definition at line 200 of file Array.h.

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

Copy constructor

Definition at line 207 of file Array.h.

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

Copy constructor with in-place evaluation

Definition at line 215 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
EIGEN_STRONG_INLINE 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 Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::innerStride ( ) const [inline]

Definition at line 239 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
EIGEN_STRONG_INLINE Array& 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=.

Reimplemented from PlainObjectBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.

Definition at line 87 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
EIGEN_STRONG_INLINE Array& 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 102 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Array& 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 110 of file Array.h.

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

Definition at line 240 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
void 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 236 of file Array.h.


Friends And Related Function Documentation

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
friend struct internal::conservative_resize_like_impl [friend]

Definition at line 68 of file Array.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
friend struct internal::matrix_swap_impl [friend]

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


libicr
Author(s): Robert Krug
autogenerated on Mon Jan 6 2014 11:34:09