21 #ifndef bempp_blocked_operator_structure_hpp
22 #define bempp_blocked_operator_structure_hpp
24 #include "../common/common.hpp"
26 #include "boundary_operator.hpp"
42 template <
typename BasisFunctionType,
typename ResultType>
53 void setBlock(
size_t row,
size_t column,
74 size_t row,
size_t column)
const;
80 bool isEmpty(
size_t row,
size_t column)
const;
96 typedef std::pair<size_t, size_t> Key;
98 std::map<Key, BoundaryOp> m_blocks;
Helper class used in construction of blocked boundary operators.
Definition: blocked_operator_structure.hpp:43
void resetBlock(size_t row, size_t column)
Reset a block.
Definition: blocked_operator_structure.cpp:39
Operator acting on functions defined on a surface.
Definition: boundary_operator.hpp:63
void reset()
Reset all blocks.
Definition: blocked_operator_structure.cpp:46
void setBlock(size_t row, size_t column, const BoundaryOperator< BasisFunctionType, ResultType > &op)
Store a boundary operator in a given block.
Definition: blocked_operator_structure.cpp:28
bool isEmpty(size_t row, size_t column) const
Return whether a block is empty.
Definition: blocked_operator_structure.cpp:66
size_t rowCount() const
Return the number of rows in the matrix.
Definition: blocked_operator_structure.cpp:73
size_t columnCount() const
Return the number of columns in the matrix.
Definition: blocked_operator_structure.cpp:87
BoundaryOperator< BasisFunctionType, ResultType > block(size_t row, size_t column) const
Return the boundary operator stored in a given block.
Definition: blocked_operator_structure.cpp:53