|
enum | { Options = ST::Options
} |
|
typedef
Eigen::internal::dense_xpr_base
< EigenView< T, N, C, XprKind_,
Rows_, Cols_ > >::type | Base |
|
typedef boost::mpl::if_
< boost::is_same< XprKind_,
Eigen::MatrixXpr >
, Eigen::Matrix< Scalar, Rows_,
Cols_, Options, Rows_, Cols_ >
, Eigen::Array< Scalar, Rows_,
Cols_, Options, Rows_, Cols_ >
>::type | PlainEigenType |
|
typedef T * | PointerType |
|
|
| EigenView () |
|
| EigenView (EigenView const &other) |
|
| EigenView (Array< T, N, C > const &array) |
|
EigenView & | operator= (EigenView const &other) |
|
template<typename Other > |
EigenView & | operator= (Eigen::DenseBase< Other > const &other) |
|
template<typename Other > |
EigenView & | operator= (Eigen::EigenBase< Other > const &other) |
|
template<typename Other > |
EigenView & | operator= (Eigen::ReturnByValue< Other > const &other) |
|
Index | innerStride () const |
|
Index | outerStride () const |
|
Index | rowStride () const |
|
Index | colStride () const |
|
Index | rows () const |
|
Index | cols () const |
|
T * | data () const |
|
T * | data () |
|
T & | coeff (Index row, Index col) const |
|
T & | coeff (Index index) const |
|
T & | coeffRef (Index row, Index col) const |
|
T & | coeffRef (Index row, Index col) |
|
T & | coeffRef (Index index) const |
|
T & | coeffRef (Index index) |
|
template<int LoadMode> |
PacketScalar | packet (Index row, Index col) const |
|
template<int LoadMode> |
PacketScalar | packet (Index index) const |
|
template<int StoreMode> |
void | writePacket (Index row, Index col, const PacketScalar &x) |
|
template<int StoreMode> |
void | writePacket (Index index, const PacketScalar &x) |
|
Array< T, N, C > const & | shallow () const |
|
ArrayRef< T, N, C > | deep () const |
|
void | reset (Array< T, N, C > const &array) |
|
void | reset (ArrayRef< T, N, C > const &array) |
|
template<typename T, int N, int C, typename XprKind_, int Rows_, int Cols_>
class ndarray::EigenView< T, N, C, XprKind_, Rows_, Cols_ >
Eigen3 view into an ndarray::Array.
EigenView provides an Eigen DenseBase-derived object based on an ndarray::Array internally. Any one or two dimensional Array can be viewed as an Eigen object.
Assignment to an EigenView is deep, and uses the Eigen assignment operators, but construction from an ndarray::Array or ArrayRef is shallow with reference counting. Block and transpose operations use the standard Eigen Block and Transpose classes, and do not do reference counting (in fact, they hold a plain C++ reference to the EigenView, so they should be considered extremely temporary).
- Todo:
- Add reference-counted share and transpose operations that return EigenViews.
Definition at line 232 of file eigen.h.