12 #ifndef BOGUS_SPARSE_BLOCK_INDEX_COMPUTER_HPP
13 #define BOGUS_SPARSE_BLOCK_INDEX_COMPUTER_HPP
15 #include "CompoundSparseBlockIndex.hpp"
22 template <
typename Derived,
bool Major >
30 return matrix.m_minorIndex ;
35 return matrix.minorIndex() ;
43 return matrix.getOrComputeMinorIndex( tempIndex ) ;
47 template <
typename Derived >
51 typedef typename MatrixType::MajorIndexType ReturnType ;
55 return matrix.m_majorIndex ;
57 static const ReturnType&
get(
const MatrixType& matrix )
59 return matrix.majorIndex() ;
62 static const ReturnType&
66 return matrix.majorIndex() ;
73 template <
typename MatrixType,
bool ColWise,
bool Transpose,
78 enum { is_major = (ColWise !=
Transpose) ==
bool( Traits::is_col_major ) } ;
88 return Getter::getOrCompute( m_matrix, m_aux ) ;
92 const MatrixType& m_matrix ;
93 typename MatrixType::UncompressedIndexType m_aux ;
96 template <
typename MatrixType,
bool ColWise,
bool Transpose >
100 enum { is_major = (ColWise == bool( Traits::is_col_major )) } ;
102 typename MatrixType::MajorIndexType,
103 typename MatrixType::MinorIndexType,
108 : m_index( matrix.majorIndex(), matrix.minorIndex() )
110 assert( matrix.minorIndex().valid ) ;
113 const ReturnType&
get( )
Definition: Traits.hpp:19
Uncompressed sparse block index.
Definition: SparseBlockIndex.hpp:86
const Derived & derived() const
Returns a const reference to the implementation.
Definition: BlockObjectBase.hpp:25
Definition: SparseBlockIndexComputer.hpp:23
Base class for Transpose views of a BlockObjectBase.
Definition: Expressions.hpp:22
Definition: CompoundSparseBlockIndex.hpp:23
Definition: SparseBlockIndexComputer.hpp:75
Base class for SparseBlockMatrix.
Definition: SparseBlockMatrixBase.hpp:36