16 template<
typename _Scalar,
int _Rows,
int _Cols,
int _Options,
int _MaxRows,
int _MaxCols>
17 struct traits<
Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > :
traits<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
44 template<
typename _Scalar,
int _Rows,
int _Cols,
int _Options,
int _MaxRows,
int _MaxCols>
46 :
public PlainObjectBase<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
57 template <
typename Derived,
typename OtherDerived,
bool IsVector>
74 template<
typename OtherDerived>
105 template<
typename OtherDerived>
138 #ifndef EIGEN_PARSED_BY_DOXYGEN
143 :
Base(
internal::constructor_without_unaligned_array_assert())
150 #if EIGEN_HAS_RVALUE_REFERENCES
174 template <
typename... ArgTypes>
177 :
Base(a0, a1, a2, a3, args...) {}
204 #ifndef EIGEN_PARSED_BY_DOXYGEN
210 Base::template _init1<T>(x);
213 template<
typename T0,
typename T1>
218 this->
template _init2<T0,T1>(val0, val1);
283 template<
typename OtherDerived>
288 :
Base(other.derived())
296 #ifdef EIGEN_ARRAY_PLUGIN
297 #include EIGEN_ARRAY_PLUGIN
302 template<
typename MatrixType,
typename OtherDerived,
bool SwapPo
inters>
331 #define EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, Size, SizeSuffix) \
333 typedef Array<Type, Size, Size> Array##SizeSuffix##SizeSuffix##TypeSuffix; \
335 typedef Array<Type, Size, 1> Array##SizeSuffix##TypeSuffix;
337 #define EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, Size) \
339 typedef Array<Type, Size, Dynamic> Array##Size##X##TypeSuffix; \
341 typedef Array<Type, Dynamic, Size> Array##X##Size##TypeSuffix;
343 #define EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(Type, TypeSuffix) \
344 EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, 2, 2) \
345 EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, 3, 3) \
346 EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, 4, 4) \
347 EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, Dynamic, X) \
348 EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, 2) \
349 EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, 3) \
350 EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, 4)
358 #undef EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES
359 #undef EIGEN_MAKE_ARRAY_TYPEDEFS
360 #undef EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS
364 #define EIGEN_MAKE_ARRAY_TYPEDEFS(Size, SizeSuffix) \
367 template <typename Type> \
368 using Array##SizeSuffix##SizeSuffix = Array<Type, Size, Size>; \
371 template <typename Type> \
372 using Array##SizeSuffix = Array<Type, Size, 1>;
374 #define EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Size) \
377 template <typename Type> \
378 using Array##Size##X = Array<Type, Size, Dynamic>; \
381 template <typename Type> \
382 using Array##X##Size = Array<Type, Dynamic, Size>;
392 #undef EIGEN_MAKE_ARRAY_TYPEDEFS
393 #undef EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS
397 #define EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, SizeSuffix) \
398 using Eigen::Matrix##SizeSuffix##TypeSuffix; \
399 using Eigen::Vector##SizeSuffix##TypeSuffix; \
400 using Eigen::RowVector##SizeSuffix##TypeSuffix;
402 #define EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(TypeSuffix) \
403 EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 2) \
404 EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 3) \
405 EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 4) \
406 EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, X) \
408 #define EIGEN_USING_ARRAY_TYPEDEFS \
409 EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(i) \
410 EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(f) \
411 EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(d) \
412 EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(cf) \
413 EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(cd)
#define EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(Type, TypeSuffix)
Definition: Array.h:343
#define EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, Size, SizeSuffix)
Definition: Array.h:331
#define EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, Size)
Definition: Array.h:337
#define EIGEN_NOEXCEPT_IF(x)
Definition: Macros.h:1419
#define EIGEN_NOEXCEPT
Definition: Macros.h:1418
#define EIGEN_CONSTEXPR
Definition: Macros.h:787
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:976
#define EIGEN_DENSE_PUBLIC_INTERFACE(Derived)
Definition: Macros.h:1283
#define EIGEN_STRONG_INLINE
Definition: Macros.h:917
#define EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
Definition: PlainObjectBase.h:22
#define EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(TYPE, SIZE)
Definition: StaticAssert.h:157
Base class for all 1D and 2D array, and related expressions.
Definition: ArrayBase.h:41
General-purpose arrays with easy API for coefficient-wise operations.
Definition: Array.h:47
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(const Array &other)
Definition: Array.h:274
DenseStorage< Scalar, Base::MaxSizeAtCompileTime, Base::RowsAtCompileTime, Base::ColsAtCompileTime, Options > m_storage
Definition: PlainObjectBase.h:131
PlainObjectBase< Array > Base
Definition: Array.h:50
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(const T &x)
Definition: Array.h:207
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index outerStride() const EIGEN_NOEXCEPT
Definition: Array.h:294
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array & operator=(const Array &other)
Definition: Array.h:116
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array()
Definition: Array.h:132
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(const EigenBase< OtherDerived > &other, typename internal::enable_if< internal::is_convertible< typename OtherDerived::Scalar, Scalar >::value, PrivateType >::type=PrivateType())
Definition: Array.h:285
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array & operator=(const DenseBase< OtherDerived > &other)
Definition: Array.h:107
Base::PlainObject PlainObject
Definition: Array.h:54
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array & operator=(const Scalar &value)
Definition: Array.h:90
EIGEN_DEVICE_FUNC Array(internal::constructor_without_unaligned_array_assert)
Definition: Array.h:142
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(const Scalar &val0, const Scalar &val1, const Scalar &val2, const Scalar &val3)
Definition: Array.h:262
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(const Scalar &val0, const Scalar &val1, const Scalar &val2)
Definition: Array.h:250
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(const T0 &val0, const T1 &val1)
Definition: Array.h:215
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index innerStride() const EIGEN_NOEXCEPT
Definition: Array.h:292
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array & operator=(const EigenBase< OtherDerived > &other)
Definition: Array.h:76
@ Options
Definition: Array.h:53
Base class for all dense matrices, vectors, and arrays.
Definition: DenseBase.h:47
EIGEN_DEVICE_FUNC const T * data() const
Definition: DenseStorage.h:266
Definition: PlainObjectBase.h:100
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void _check_template_params()
Definition: PlainObjectBase.h:968
DenseStorage< Scalar, Base::MaxSizeAtCompileTime, Base::RowsAtCompileTime, Base::ColsAtCompileTime, Options > m_storage
Definition: PlainObjectBase.h:131
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & coeffRef(Index rowId, Index colId)
Definition: PlainObjectBase.h:175
EIGEN_DEVICE_FUNC Base & base()
Definition: PlainObjectBase.h:138
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT
Definition: PlainObjectBase.h:145
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator=(const PlainObjectBase &other)
Definition: PlainObjectBase.h:449
internal::traits< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::Scalar Scalar
Definition: PlainObjectBase.h:106
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & _set(const DenseBase< OtherDerived > &other)
Copies the value of the expression other into *this with automatic resizing.
Definition: PlainObjectBase.h:777
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar * data() const
Definition: PlainObjectBase.h:247
EIGEN_DEVICE_FUNC Derived & setConstant(Index size, const Scalar &val)
Definition: CwiseNullaryOp.h:361
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR Index rows() const EIGEN_NOEXCEPT
Definition: PlainObjectBase.h:143
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar & coeff(Index rowId, Index colId) const
Definition: PlainObjectBase.h:152
Namespace containing all symbols from the Eigen library.
Definition: LDLT.h:16
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:74
const int Dynamic
Definition: Constants.h:22
type
The type the bitset is encoded with.
Definition: bitset.hpp:44
Definition: document.h:416
Definition: json.hpp:5678
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1282
Definition: Constants.h:525
Definition: EigenBase.h:30
Definition: PlainObjectBase.h:1001
Definition: DenseStorage.h:25
Definition: PlainObjectBase.h:1106
ArrayBase< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > > XprBase
Definition: Array.h:20
ArrayXpr XprKind
Definition: Array.h:19
Definition: ForwardDeclarations.h:17
#define const
Definition: zconf.h:233