MOAB  4.9.3pre
Eigen::SparseCompressedBase< Derived > Class Template Reference

Common base class for sparse [compressed]-{row|column}-storage format. More...

#include <SparseCompressedBase.h>

Inheritance diagram for Eigen::SparseCompressedBase< Derived >:
Collaboration diagram for Eigen::SparseCompressedBase< Derived >:

List of all members.

Classes

class  InnerIterator
class  ReverseInnerIterator

Public Types

typedef SparseMatrixBase< Derived > Base

Public Member Functions

Index nonZeros () const
const ScalarvaluePtr () const
ScalarvaluePtr ()
const StorageIndexinnerIndexPtr () const
StorageIndexinnerIndexPtr ()
const StorageIndexouterIndexPtr () const
StorageIndexouterIndexPtr ()
const StorageIndexinnerNonZeroPtr () const
StorageIndexinnerNonZeroPtr ()
bool isCompressed () const

Protected Types

typedef Base::IndexVector IndexVector

Protected Member Functions

Eigen::Map< IndexVectorinnerNonZeros ()
const Eigen::Map< const
IndexVector
innerNonZeros () const
 SparseCompressedBase ()

Private Member Functions

template<typename OtherDerived >
 SparseCompressedBase (const SparseCompressedBase< OtherDerived > &)

Detailed Description

template<typename Derived>
class Eigen::SparseCompressedBase< Derived >

Common base class for sparse [compressed]-{row|column}-storage format.

This class defines the common interface for all derived classes implementing the compressed sparse storage format, such as:

  • SparseMatrix
  • Ref<SparseMatrixType,Options>
  • Map<SparseMatrixType>

Definition at line 36 of file SparseCompressedBase.h.


Member Typedef Documentation


Constructor & Destructor Documentation

template<typename Derived>
Eigen::SparseCompressedBase< Derived >::SparseCompressedBase ( ) [inline, protected]

Default constructor. Do nothing.

Definition at line 111 of file SparseCompressedBase.h.

{}
template<typename Derived>
template<typename OtherDerived >
Eigen::SparseCompressedBase< Derived >::SparseCompressedBase ( const SparseCompressedBase< OtherDerived > &  ) [explicit, private]

Member Function Documentation

template<typename Derived>
Eigen::Map<IndexVector> Eigen::SparseCompressedBase< Derived >::innerNonZeros ( ) [inline, protected]

Definition at line 50 of file SparseCompressedBase.h.

{ return Eigen::Map<IndexVector>(innerNonZeroPtr(), isCompressed()?0:derived().outerSize()); }
template<typename Derived>
const Eigen::Map<const IndexVector> Eigen::SparseCompressedBase< Derived >::innerNonZeros ( ) const [inline, protected]

Definition at line 51 of file SparseCompressedBase.h.

template<typename Derived>
Index Eigen::SparseCompressedBase< Derived >::nonZeros ( ) const [inline]
Returns:
the number of non zero coefficients

Reimplemented in Eigen::SparseVector< _Scalar, _Options, _StorageIndex >, Eigen::SparseMapBase< Derived, ReadOnlyAccessors >, and Eigen::internal::SparseTransposeImpl< MatrixType, CompressedAccessBit >.

Definition at line 56 of file SparseCompressedBase.h.

    {
      if(Derived::IsVectorAtCompileTime && outerIndexPtr()==0)
        return derived().nonZeros();
      else if(isCompressed())
        return outerIndexPtr()[derived().outerSize()]-outerIndexPtr()[0];
      else if(derived().outerSize()==0)
        return 0;
      else
        return innerNonZeros().sum();
    }

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines