From 566d237ec3fd9500e4a6dab1d39312ef43dadef9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org> Date: Thu, 31 Jan 2019 17:58:54 +0100 Subject: [PATCH] Dynare++ tensor library: small simplification --- dynare++/tl/cc/equivalence.cc | 13 +++---------- dynare++/tl/cc/equivalence.hh | 4 ++-- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/dynare++/tl/cc/equivalence.cc b/dynare++/tl/cc/equivalence.cc index 85d1a9fa6..070bf00a1 100644 --- a/dynare++/tl/cc/equivalence.cc +++ b/dynare++/tl/cc/equivalence.cc @@ -400,13 +400,6 @@ EquivalenceBundle::EquivalenceBundle(int nmax) generateUpTo(nmax); } -/* Destruct bundle. Just free all pointers. */ -EquivalenceBundle::~EquivalenceBundle() -{ - for (auto & i : bundle) - delete i; -} - /* Remember, that the first item is |EquivalenceSet(1)|. */ const EquivalenceSet & EquivalenceBundle::get(int n) const @@ -414,11 +407,11 @@ EquivalenceBundle::get(int n) const if (n > (int) (bundle.size()) || n < 1) { TL_RAISE("Equivalence set not found in EquivalenceBundle::get"); - return *(bundle[0]); + return bundle[0]; } else { - return *(bundle[n-1]); + return bundle[n-1]; } } @@ -430,5 +423,5 @@ EquivalenceBundle::generateUpTo(int nmax) { int curmax = bundle.size(); for (int i = curmax+1; i <= nmax; i++) - bundle.push_back(new EquivalenceSet(i)); + bundle.emplace_back(i); } diff --git a/dynare++/tl/cc/equivalence.hh b/dynare++/tl/cc/equivalence.hh index 6b9c2e917..3f81cae54 100644 --- a/dynare++/tl/cc/equivalence.hh +++ b/dynare++/tl/cc/equivalence.hh @@ -212,10 +212,10 @@ private: class EquivalenceBundle { - vector<EquivalenceSet *> bundle; + vector<EquivalenceSet> bundle; public: EquivalenceBundle(int nmax); - ~EquivalenceBundle(); + ~EquivalenceBundle() = default; const EquivalenceSet&get(int n) const; void generateUpTo(int nmax); }; -- GitLab