From 5e3f84e665d12ca14f92f3d2077dcf6a0c5a5d72 Mon Sep 17 00:00:00 2001 From: Joseph Mirabel <jmirabel@laas.fr> Date: Thu, 2 Jun 2016 18:21:57 +0200 Subject: [PATCH] Fix broken const-correctness --- include/hpp/manipulation/connected-component.hh | 3 ++- src/connected-component.cc | 15 +++++++-------- src/roadmap.cc | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/hpp/manipulation/connected-component.hh b/include/hpp/manipulation/connected-component.hh index 4577c70b..21251ab1 100644 --- a/include/hpp/manipulation/connected-component.hh +++ b/include/hpp/manipulation/connected-component.hh @@ -49,12 +49,13 @@ class HPP_MANIPULATION_DLLAPI ConnectedComponent : public core::ConnectedCompone /// \param roadmap node to be added void addNode (const core::NodePtr_t& node); - RoadmapNodes_t getRoadmapNodes (const graph::NodePtr_t graphNode); + const RoadmapNodes_t& getRoadmapNodes (const graph::NodePtr_t graphNode) const; protected: private: GraphNodes_t graphNodeMap_; RoadmapPtr_t roadmap_; + static RoadmapNodes_t empty_; }; // class ConnectedComponent } // namespace manipulation } // namespace hpp diff --git a/src/connected-component.cc b/src/connected-component.cc index 101f2c34..e47917ca 100644 --- a/src/connected-component.cc +++ b/src/connected-component.cc @@ -23,6 +23,7 @@ namespace hpp { namespace manipulation { + RoadmapNodes_t ConnectedComponent::empty_ = RoadmapNodes_t(); ConnectedComponentPtr_t ConnectedComponent::create(const RoadmapWkPtr_t& roadmap) { @@ -74,17 +75,15 @@ namespace hpp { } - RoadmapNodes_t ConnectedComponent::getRoadmapNodes (const graph::NodePtr_t graphNode) + const RoadmapNodes_t& ConnectedComponent::getRoadmapNodes ( + const graph::NodePtr_t graphNode) const { - RoadmapNodes_t res; - GraphNodes_t::iterator mapIt = graphNodeMap_.find(graphNode); - if (mapIt != graphNodeMap_.end()) { - res = mapIt->second; - } - return res; + GraphNodes_t::const_iterator mapIt = graphNodeMap_.find(graphNode); + if (mapIt != graphNodeMap_.end()) + return mapIt->second; + return empty_; } - } // namespace manipulation } // namespace hpp diff --git a/src/roadmap.cc b/src/roadmap.cc index 746733c4..009a7dbd 100644 --- a/src/roadmap.cc +++ b/src/roadmap.cc @@ -83,7 +83,7 @@ namespace hpp { { core::NodePtr_t result = NULL; minDistance = std::numeric_limits <value_type>::infinity (); - RoadmapNodes_t roadmapNodes = connectedComponent->getRoadmapNodes (node); + const RoadmapNodes_t& roadmapNodes = connectedComponent->getRoadmapNodes (node); for (RoadmapNodes_t::const_iterator itNode = roadmapNodes.begin (); itNode != roadmapNodes.end (); ++itNode) { value_type d = (*distance()) (*(*itNode)->configuration (), -- GitLab