20 #ifndef GEOS_LINEARALGEBRA_UTILITIES_BLOCKOPERATORWRAPPER_HPP_ 
   21 #define GEOS_LINEARALGEBRA_UTILITIES_BLOCKOPERATORWRAPPER_HPP_ 
   38 template< 
typename VECTOR, 
typename OPERATOR = LinearOperator< VECTOR > >
 
   55     : 
Base( nRows, nCols )
 
   85     this->
setPointer( blockRowIndex, blockColIndex, &op );
 
Abstract view of a block operator.
 
typename Base::Vector Vector
Alias for vector type.
 
void setPointer(localIndex const blockRowIndex, localIndex const blockColIndex, LinearOperator< VECTOR > *op)
Set/replace a pointer to a block.
 
"Shallow" representation of a block operator.
 
BlockOperatorWrapper(BlockOperatorWrapper const &rhs)=delete
Deleted copy constructor.
 
void set(localIndex const blockRowIndex, localIndex const blockColIndex, OPERATOR &op)
Set a single block of the operator.
 
BlockOperatorWrapper(localIndex const nRows, localIndex const nCols)
Create a vector wrapper of nBlocks blocks.
 
typename Base::Vector Vector
Alias for vector type.
 
BlockOperatorWrapper(BlockOperatorWrapper &&rhs)=delete
Deleted move constructor.
 
virtual ~BlockOperatorWrapper() override=default
Destructor.
 
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).