From 7e4868dcf8501bb40956d5c216437bf1ab203154 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 27 Dec 2018 00:28:44 +0100 Subject: [PATCH] WIP: some small refactoring. --- src/db/db/dbHierNetworkProcessor.cc | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/db/db/dbHierNetworkProcessor.cc b/src/db/db/dbHierNetworkProcessor.cc index 8096572e0..6020ba4be 100644 --- a/src/db/db/dbHierNetworkProcessor.cc +++ b/src/db/db/dbHierNetworkProcessor.cc @@ -763,8 +763,9 @@ private: hier_clusters *mp_tree; const cell_clusters_box_converter *mp_cbc; const db::Connectivity *mp_conn; - std::map *> m_cm2join_map; - std::list > m_cm2join_sets; + typedef std::list > join_set_list; + std::map m_cm2join_map; + join_set_list m_cm2join_sets; /** * @brief Handles the cluster interactions between two instances or instance arrays @@ -987,8 +988,8 @@ private: */ void mark_to_join (id_type a, id_type b) { - typename std::map *>::const_iterator x = m_cm2join_map.find (a); - typename std::map *>::const_iterator y = m_cm2join_map.find (b); + typename std::map::const_iterator x = m_cm2join_map.find (a); + typename std::map::const_iterator y = m_cm2join_map.find (b); if (x == m_cm2join_map.end ()) { @@ -998,8 +999,8 @@ private: m_cm2join_sets.back ().insert (a); m_cm2join_sets.back ().insert (b); - m_cm2join_map [a] = &m_cm2join_sets.back (); - m_cm2join_map [b] = &m_cm2join_sets.back (); + m_cm2join_map [a] = --m_cm2join_sets.end (); + m_cm2join_map [b] = --m_cm2join_sets.end (); } else { @@ -1016,25 +1017,25 @@ private: } else if (x->second != y->second) { // join two superclusters - std::set &yset = *y->second; - x->second->insert (yset.begin (), yset.end ()); - for (typename std::set::const_iterator i = yset.begin (); i != yset.end (); ++i) { + typename join_set_list::iterator yset = y->second; + x->second->insert (yset->begin (), yset->end ()); + for (typename std::set::const_iterator i = yset->begin (); i != yset->end (); ++i) { m_cm2join_map [*i] = x->second; } - yset.clear (); // TODO: no longer required, but we can't delete it, as we just have a pointer .. replace pointer by iterator! + m_cm2join_sets.erase (yset); } #if defined(DEBUG_HIER_NETWORK_PROCESSOR) // concistency check for debugging - for (typename std::map *>::const_iterator j = m_cm2join_map.begin (); j != m_cm2join_map.end (); ++j) { + for (typename std::map::const_iterator j = m_cm2join_map.begin (); j != m_cm2join_map.end (); ++j) { tl_assert (j->second->find (j->first) != j->second->end ()); } for (typename std::list >::const_iterator i = m_cm2join_sets.begin (); i != m_cm2join_sets.end (); ++i) { for (typename std::set::const_iterator j = i->begin(); j != i->end(); ++j) { tl_assert(m_cm2join_map.find (*j) != m_cm2join_map.end ()); - tl_assert(m_cm2join_map[*j] == i.operator->()); + tl_assert(m_cm2join_map[*j] == i); } } @@ -1047,6 +1048,7 @@ private: } } #endif + } /**