19 #ifndef GEOSX_LINEARALGEBRA_UTILITIES_BLOCKOPERATOR_HPP_ 20 #define GEOSX_LINEARALGEBRA_UTILITIES_BLOCKOPERATOR_HPP_ 36 template<
typename VECTOR,
typename OPERATOR >
79 template<
typename VECTOR,
typename OPERATOR >
81 :
Base( nRows, nCols ),
82 m_operatorStorage( nRows, nCols )
87 template<
typename VECTOR,
typename OPERATOR >
92 for(
localIndex i = 0; i < m_operatorStorage.size( 0 ); ++i )
94 for(
localIndex j = 0; j < m_operatorStorage.size( 1 ); ++j )
96 this->setPointer( i, j, &m_operatorStorage( i, j ) );
101 template<
typename VECTOR,
typename OPERATOR >
104 m_operatorStorage( rhs.m_operatorStorage )
109 template<
typename VECTOR,
typename OPERATOR >
112 m_operatorStorage(
std::move( rhs.m_operatorStorage ) )
119 #endif //GEOSX_LINEARALGEBRA_UTILITIES_BLOCKOPERATOR_HPP_ BlockOperator(localIndex const nRows, localIndex const nCols)
Create an operator with (nRows, nCols) blocks.
virtual ~BlockOperator() override=default
Destructor.
Abstract view of a block operator.
Concrete representation of a block operator.
#define GEOSX_LAI_ASSERT_EQ(lhs, rhs)
typename Base::Vector Vector
Alias for vector type.
std::ptrdiff_t localIndex
Local index type (for indexing objects within an MPI partition).
This class provides a fixed dimensional resizeable array interface in addition to an interface simila...