Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator_base< MatrixType > Class Template Reference

#include <BlockMatrix.hpp>

Public Types

typedef MatrixType::InnerType IteratorInnerType
typedef FullMatrixFuncs StoragePolicy

Public Member Functions

 iterator_base (MatrixType &m, unsigned int curRow, unsigned int curCol)
 iterator_base (MatrixType &m)
 iterator_base (const iterator_base< MatrixType > &rhs)
void operator++ ()
NumberType operator* ()
bool operator== (const iterator_base< MatrixType > &rhs)
bool operator!= (const iterator_base< MatrixType > &rhs)

Private Member Functions

iterator_base< MatrixType > & operator= (const iterator_base< MatrixType > &rhs)

Private Attributes

MatrixType & m_matrix
unsigned int m_curRow
unsigned int m_curColumn

Detailed Description

template<typename DataType, typename InnerMatrixType>
template<typename MatrixType>
class Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator_base< MatrixType >

Definition at line 68 of file BlockMatrix.hpp.

Member Typedef Documentation

template<typename DataType , typename InnerMatrixType >
template<typename MatrixType >
typedef MatrixType::InnerType Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator_base< MatrixType >::IteratorInnerType

Definition at line 71 of file BlockMatrix.hpp.

template<typename DataType , typename InnerMatrixType >
template<typename MatrixType >
typedef FullMatrixFuncs Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator_base< MatrixType >::StoragePolicy

Definition at line 72 of file BlockMatrix.hpp.

Constructor & Destructor Documentation

template<typename DataType , typename InnerMatrixType >
template<typename MatrixType >
Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator_base< MatrixType >::iterator_base ( MatrixType &  m,
unsigned int  curRow,
unsigned int  curCol 
)
inline

Definition at line 75 of file BlockMatrix.hpp.

:
m_curRow(curRow),
m_curColumn(curCol)
{
}
template<typename DataType , typename InnerMatrixType >
template<typename MatrixType >
Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator_base< MatrixType >::iterator_base ( MatrixType &  m)
inline

Definition at line 82 of file BlockMatrix.hpp.

:
m_curRow(std::numeric_limits<unsigned int>::max()),
m_curColumn(std::numeric_limits<unsigned int>::max())
{
}
template<typename DataType , typename InnerMatrixType >
template<typename MatrixType >
Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator_base< MatrixType >::iterator_base ( const iterator_base< MatrixType > &  rhs)
inline

Definition at line 89 of file BlockMatrix.hpp.

:
m_matrix(rhs.m_matrix),
m_curRow(rhs.m_curRow),
m_curColumn(rhs.m_curColumn)
{
}

Member Function Documentation

template<typename DataType , typename InnerMatrixType >
template<typename MatrixType >
bool Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator_base< MatrixType >::operator!= ( const iterator_base< MatrixType > &  rhs)
inline

Definition at line 115 of file BlockMatrix.hpp.

{
return !(*this == rhs);
}
template<typename DataType , typename InnerMatrixType >
template<typename MatrixType >
NumberType Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator_base< MatrixType >::operator* ( )
inline

Definition at line 105 of file BlockMatrix.hpp.

{
return m_matrix(m_curRow, m_curColumn);
}
template<typename DataType , typename InnerMatrixType >
template<typename MatrixType >
void Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator_base< MatrixType >::operator++ ( )
inline

Definition at line 96 of file BlockMatrix.hpp.

{
if( m_curRow != std::numeric_limits<unsigned int>::max() )
{
boost::tie(m_curRow, m_curColumn) = StoragePolicy::Advance(
m_matrix.GetRows(), m_matrix.GetColumns(), m_curRow, m_curColumn);
}
}
template<typename DataType , typename InnerMatrixType >
template<typename MatrixType >
iterator_base<MatrixType>& Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator_base< MatrixType >::operator= ( const iterator_base< MatrixType > &  rhs)
private
template<typename DataType , typename InnerMatrixType >
template<typename MatrixType >
bool Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator_base< MatrixType >::operator== ( const iterator_base< MatrixType > &  rhs)
inline

Definition at line 110 of file BlockMatrix.hpp.

{
return m_curRow == rhs.m_curRow && m_curColumn == rhs.m_curColumn;
}

Member Data Documentation

template<typename DataType , typename InnerMatrixType >
template<typename MatrixType >
unsigned int Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator_base< MatrixType >::m_curColumn
private

Definition at line 126 of file BlockMatrix.hpp.

template<typename DataType , typename InnerMatrixType >
template<typename MatrixType >
unsigned int Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator_base< MatrixType >::m_curRow
private

Definition at line 125 of file BlockMatrix.hpp.

template<typename DataType , typename InnerMatrixType >
template<typename MatrixType >
MatrixType& Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator_base< MatrixType >::m_matrix
private

Definition at line 123 of file BlockMatrix.hpp.