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.
Definition at line 52 of file Array.h.
#include <src/Core/Array.h>
Public Types | |
enum | { Options = _Options } |
enum | { NeedsToAlign } |
typedef PlainObjectBase< Array > | Base |
typedef Base::PlainObject | PlainObject |
Public Member Functions | |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Array & | operator= (const EigenBase< OtherDerived > &other) |
The usage of using Base::operator=; fails on MSVC. | |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Array & | operator= (const ArrayBase< OtherDerived > &other) |
Copies the value of the expression other into *this with automatic resizing. | |
EIGEN_STRONG_INLINE Array & | operator= (const Array &other) |
This is a special case of the templated operator=. | |
EIGEN_STRONG_INLINE | Array () |
Default constructor. | |
EIGEN_STRONG_INLINE | Array (Index dim) |
Constructs a vector or row-vector with given dimension. | |
Array (Index rows, Index cols) | |
constructs an uninitialized matrix with rows rows and cols columns. | |
Array (const Scalar &x, const Scalar &y) | |
constructs an initialized 2D vector with given coefficients | |
EIGEN_STRONG_INLINE | Array (const Scalar &x, const Scalar &y, const Scalar &z) |
constructs an initialized 3D vector with given coefficients | |
EIGEN_STRONG_INLINE | Array (const Scalar &x, const Scalar &y, const Scalar &z, const Scalar &w) |
constructs an initialized 4D vector with given coefficients | |
Array (const Scalar *data) | |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE | Array (const ArrayBase< OtherDerived > &other) |
Constructor copying the value of the expression other. | |
EIGEN_STRONG_INLINE | Array (const Array &other) |
Copy constructor. | |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE | Array (const ReturnByValue< OtherDerived > &other) |
Copy constructor with in-place evaluation. | |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE | Array (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
void | swap (ArrayBase< OtherDerived > const &other) |
Override MatrixBase::swap() since for dynamic-sized matrices of same type it is enough to swap the data pointers. | |
Index | innerStride () const |
Index | outerStride () const |
Friends | |
struct | internal::conservative_resize_like_impl |
struct | internal::matrix_swap_impl |
typedef PlainObjectBase<Array> Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Base |
Reimplemented from PlainObjectBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
typedef Base::PlainObject Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::PlainObject |
anonymous enum |
anonymous enum |
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.
Definition at line 122 of file Array.h.
References EIGEN_INITIALIZE_BY_ZERO_IF_THAT_OPTION_IS_ENABLED.
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 145 of file Array.h.
References Dynamic, eigen_assert, EIGEN_INITIALIZE_BY_ZERO_IF_THAT_OPTION_IS_ENABLED, and EIGEN_STATIC_ASSERT_VECTOR_ONLY.
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::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< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array | ( | const Scalar & | x, |
const Scalar & | y | ||
) |
constructs an initialized 2D vector with given coefficients
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 174 of file Array.h.
References DenseStorage< T, Size, _Rows, _Cols, _Options >::data(), EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE, PlainObjectBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::m_storage, and internal::y.
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 183 of file Array.h.
References DenseStorage< T, Size, _Rows, _Cols, _Options >::data(), EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE, PlainObjectBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::m_storage, and internal::y.
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 197 of file Array.h.
References PlainObjectBase< Derived >::_set_noalias().
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 204 of file Array.h.
References PlainObjectBase< Derived >::_set_noalias().
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 212 of file Array.h.
References ReturnByValue< Derived >::cols(), ReturnByValue< Derived >::evalTo(), PlainObjectBase< Derived >::resize(), and ReturnByValue< Derived >::rows().
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Array | ( | const EigenBase< OtherDerived > & | other ) | [inline] |
Definition at line 221 of file Array.h.
References EigenBase< Derived >::cols(), PlainObjectBase< Derived >::resize(), and EigenBase< Derived >::rows().
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 84 of file Array.h.
References PlainObjectBase< Derived >::operator=().
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 99 of file Array.h.
References PlainObjectBase< Derived >::_set().
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 107 of file Array.h.
References PlainObjectBase< Derived >::_set().
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 233 of file Array.h.
References PlainObjectBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::_swap().
friend struct internal::conservative_resize_like_impl [friend] |
friend struct internal::matrix_swap_impl [friend] |
Reimplemented from PlainObjectBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
Page generated by Doxygen 1.7.2 for MRPT 0.9.4 SVN: at Mon Jan 10 22:30:30 UTC 2011 |