diff --git a/NumLib/DOF/SimpleMatrixVectorProvider.cpp b/NumLib/DOF/SimpleMatrixVectorProvider.cpp index f1e43efeef1eb0de590b5398a0acd97501bc63e9..c62d4f182600959c18fdd6b1a2b861c176ec1780 100644 --- a/NumLib/DOF/SimpleMatrixVectorProvider.cpp +++ b/NumLib/DOF/SimpleMatrixVectorProvider.cpp @@ -23,10 +23,7 @@ namespace NumLib { template <bool do_search, typename MatVec, typename... Args> std::pair<MatVec*, bool> SimpleMatrixVectorProvider::get_( - std::size_t& id, - std::map<std::size_t, MatVec*>& unused_map, - std::map<MatVec*, std::size_t>& used_map, - Args&&... args) + std::size_t& id, std::map<MatVec*, std::size_t>& used_map, Args&&... args) { id = _next_id++; auto res = @@ -41,8 +38,7 @@ template <bool do_search, typename... Args> std::pair<GlobalMatrix*, bool> SimpleMatrixVectorProvider::getMatrix_( std::size_t& id, Args&&... args) { - return get_<do_search>( - id, _unused_matrices, _used_matrices, std::forward<Args>(args)...); + return get_<do_search>(id, _used_matrices, std::forward<Args>(args)...); } GlobalMatrix& SimpleMatrixVectorProvider::getMatrix(std::size_t& id) @@ -76,8 +72,7 @@ template <bool do_search, typename... Args> std::pair<GlobalVector*, bool> SimpleMatrixVectorProvider::getVector_( std::size_t& id, Args&&... args) { - return get_<do_search>( - id, _unused_vectors, _used_vectors, std::forward<Args>(args)...); + return get_<do_search>(id, _used_vectors, std::forward<Args>(args)...); } GlobalVector& SimpleMatrixVectorProvider::getVector(std::size_t& id) @@ -155,21 +150,11 @@ SimpleMatrixVectorProvider::~SimpleMatrixVectorProvider() } /* - for (auto& id_ptr : _unused_matrices) - { - delete id_ptr.second; - } - for (auto& ptr_id : _used_matrices) { delete ptr_id.first; } - for (auto& id_ptr : _unused_vectors) - { - delete id_ptr.second; - } - for (auto& ptr_id : _used_vectors) { delete ptr_id.first; diff --git a/NumLib/DOF/SimpleMatrixVectorProvider.h b/NumLib/DOF/SimpleMatrixVectorProvider.h index 2bc5398ccf52f17873451cee2a6192c5ed361eae..f8db6b5da1eecc0b0510f0b05499465e0e569f26 100644 --- a/NumLib/DOF/SimpleMatrixVectorProvider.h +++ b/NumLib/DOF/SimpleMatrixVectorProvider.h @@ -63,19 +63,15 @@ private: // returns a pair with the pointer to the matrix/vector and // a boolean indicating if a new object has been built (then true else false) - template<bool do_search, typename MatVec, typename... Args> - std::pair<MatVec*, bool> - get_(std::size_t& id, - std::map<std::size_t, MatVec*>& unused_map, - std::map<MatVec*, std::size_t>& used_map, - Args&&... args); + template <bool do_search, typename MatVec, typename... Args> + std::pair<MatVec*, bool> get_(std::size_t& id, + std::map<MatVec*, std::size_t>& used_map, + Args&&... args); std::size_t _next_id = 1; - std::map<std::size_t, GlobalMatrix*> _unused_matrices; std::map<GlobalMatrix*, std::size_t> _used_matrices; - std::map<std::size_t, GlobalVector*> _unused_vectors; std::map<GlobalVector*, std::size_t> _used_vectors; };