From c1edce33cd62085b84d8524a9329c6d7648122ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu> Date: Wed, 27 Oct 2021 09:05:01 +0200 Subject: [PATCH] Remove copy constructor --- include/core/state_block/state_composite.h | 1 - src/sensor/sensor_base.cpp | 2 +- src/state_block/state_composite.cpp | 26 +++++++++++----------- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/include/core/state_block/state_composite.h b/include/core/state_block/state_composite.h index 7989fd807..d0ddf4e7f 100644 --- a/include/core/state_block/state_composite.h +++ b/include/core/state_block/state_composite.h @@ -31,7 +31,6 @@ class VectorComposite : public std::unordered_map < char, Eigen::VectorXd > VectorComposite() {}; VectorComposite(const StateStructure& _s); VectorComposite(const StateStructure& _s, const std::list<int>& _sizes); - VectorComposite(const VectorComposite & v) : unordered_map<char, VectorXd>(v){}; /** * \brief Construct from Eigen::VectorXd and structure * diff --git a/src/sensor/sensor_base.cpp b/src/sensor/sensor_base.cpp index e78904988..0700d403f 100644 --- a/src/sensor/sensor_base.cpp +++ b/src/sensor/sensor_base.cpp @@ -301,7 +301,7 @@ bool SensorBase::process(const CaptureBasePtr capture_ptr) { capture_ptr->setSensor(shared_from_this()); - for (const auto processor : processor_list_) + for (const auto& processor : processor_list_) { #ifdef PROFILING diff --git a/src/state_block/state_composite.cpp b/src/state_block/state_composite.cpp index 169bc82ca..04658a0fb 100644 --- a/src/state_block/state_composite.cpp +++ b/src/state_block/state_composite.cpp @@ -112,9 +112,9 @@ wolf::VectorComposite operator +(const wolf::VectorComposite &_x, const wolf::Ve return xpy; } -wolf::VectorComposite operator -(const wolf::VectorComposite &_x, const wolf::VectorComposite &_y) +VectorComposite operator -(const VectorComposite &_x, const VectorComposite &_y) { - wolf::VectorComposite xpy; + VectorComposite xpy; for (const auto& pair_i_xi : _x) { const auto& i = pair_i_xi.first; @@ -124,6 +124,17 @@ wolf::VectorComposite operator -(const wolf::VectorComposite &_x, const wolf::Ve return xpy; } +VectorComposite operator -(const wolf::VectorComposite &_x) +{ + wolf::VectorComposite m; + for (const auto& pair_i_xi : _x) + { + const auto& i = pair_i_xi.first; + m.emplace(i, - _x.at(i)); + } + return m; +} + void VectorComposite::set (const VectorXd& _v, const StateStructure& _structure, const std::list<int>& _sizes) { int index = 0; @@ -145,17 +156,6 @@ void VectorComposite::setZero() pair_key_vec.second.setZero(); } -wolf::VectorComposite operator -(const wolf::VectorComposite &_x) -{ - wolf::VectorComposite m; - for (const auto& pair_i_xi : _x) - { - const auto& i = pair_i_xi.first; - m.emplace(i, - _x.at(i)); - } - return m; -} - ////// MATRIX COMPOSITE ////////// bool MatrixComposite::emplace(const char &_row, const char &_col, const Eigen::MatrixXd &_mat_blk) -- GitLab