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

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

#include <Diagonal.h>

Inherits type< Diagonal< MatrixType, DiagIndex > >.

List of all members.

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]
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: