47 std::size_t&
id)
override;
54 std::size_t&
id)
override;
63 template <
typename... Args>
64 std::pair<GlobalMatrix*, bool>
getMatrix_(std::size_t&
id, Args&&... args);
66 template <
typename... Args>
67 std::pair<GlobalVector*, bool>
getVector_(std::size_t&
id, Args&&... args);
72 template <
typename MatVec,
typename... Args>
73 std::pair<MatVec*, bool>
get_(std::size_t&
id,
74 std::map<MatVec*, std::size_t>& used_map,
Global vector based on Eigen vector.
std::pair< GlobalVector *, bool > getVector_(std::size_t &id, Args &&... args)
void releaseVector(GlobalVector const &x) override
GlobalVector & getVector(std::size_t &id) override
Get an uninitialized vector with the given id.
std::pair< GlobalMatrix *, bool > getMatrix_(std::size_t &id, Args &&... args)
std::map< GlobalMatrix *, std::size_t > _used_matrices
SimpleMatrixVectorProvider()=default
SimpleMatrixVectorProvider(SimpleMatrixVectorProvider const &)=delete
SimpleMatrixVectorProvider & operator=(SimpleMatrixVectorProvider const &)=delete
std::pair< MatVec *, bool > get_(std::size_t &id, std::map< MatVec *, std::size_t > &used_map, Args &&... args)
GlobalMatrix & getMatrix(std::size_t &id) override
Get an uninitialized matrix with the given id.
~SimpleMatrixVectorProvider() override
std::map< GlobalVector *, std::size_t > _used_vectors
void releaseMatrix(GlobalMatrix const &A) override