Public Types | Public Member Functions | Protected Attributes | List of all members
Diagonal< MatrixType, DiagIndex > Class Template Reference

Expression of a diagonal/subdiagonal/superdiagonal in a matrix. More...

#include <Diagonal.h>

Inherits type< Diagonal< MatrixType, DiagIndex > >.

Public Types

typedef
internal::dense_xpr_base
< Diagonal >::type 
Base
typedef internal::conditional
< internal::is_lvalue
< MatrixType >::value, Scalar,
const Scalar >::type 
ScalarWithConstIfNotLvalue

Public Member Functions

CoeffReturnType coeff (Index row, Index) const
CoeffReturnType coeff (Index index) const
Scalar & coeffRef (Index row, Index)
const Scalar & coeffRef (Index row, Index) const
Scalar & coeffRef (Index index)
const Scalar & coeffRef (Index index) const
Index cols () const
ScalarWithConstIfNotLvaluedata ()
const Scalar * data () const
 Diagonal (MatrixType &matrix, Index index=DiagIndex)
int index () const
Index innerStride () const
const internal::remove_all
< typename MatrixType::Nested >
::type & 
nestedExpression () const
Index outerStride () const
Index rows () const

Protected Attributes

const
internal::variable_if_dynamic
< Index, DiagIndex > 
m_index
MatrixType::Nested m_matrix

Detailed Description

template<typename MatrixType, int DiagIndex>
class Eigen::Diagonal< MatrixType, DiagIndex >

Expression of a diagonal/subdiagonal/superdiagonal in a matrix.

Parameters
MatrixTypethe type of the object in which we are taking a sub/main/super diagonal
DiagIndexthe index of the sub/super diagonal. The default is 0 and it means the main diagonal. A positive value means a superdiagonal, a negative value means a subdiagonal. You can also use Dynamic so the index can be set at runtime.

The matrix is not required to be square.

This class represents an expression of the main diagonal, or any sub/super diagonal of a square matrix. It is the return type of MatrixBase::diagonal() and MatrixBase::diagonal(Index) and most of the time this is the only way it is used.

See Also
MatrixBase::diagonal(), MatrixBase::diagonal(Index)

Member Typedef Documentation

typedef internal::dense_xpr_base<Diagonal>::type Base
typedef internal::conditional< internal::is_lvalue<MatrixType>::value, Scalar, const Scalar >::type ScalarWithConstIfNotLvalue

Constructor & Destructor Documentation

Diagonal ( MatrixType &  matrix,
Index  index = DiagIndex 
)
inline

Member Function Documentation

CoeffReturnType coeff ( Index  row,
Index   
) const
inline
CoeffReturnType coeff ( Index  index) const
inline
Scalar& coeffRef ( Index  row,
Index   
)
inline
const Scalar& coeffRef ( Index  row,
Index   
) const
inline
Scalar& coeffRef ( Index  index)
inline
const Scalar& coeffRef ( Index  index) const
inline
Index cols ( void  ) const
inline
ScalarWithConstIfNotLvalue* data ( )
inline
const Scalar* data ( ) const
inline
int index ( ) const
inline
Index innerStride ( ) const
inline
const internal::remove_all<typename MatrixType::Nested>::type& nestedExpression ( ) const
inline
Index outerStride ( ) const
inline
Index rows ( void  ) const
inline

Member Data Documentation

const internal::variable_if_dynamic<Index, DiagIndex> m_index
protected
MatrixType::Nested m_matrix
protected

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