From db983376a83e8b1900fb6329ea91267eb29f72c6 Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Mon, 24 Jan 2011 14:02:51 +0000 Subject: [PATCH] minor refactoring: move a common std::map operation into a separate method [[Imported from SVN: r6866]] --- .../rodcontinuumsteklovpoincarestep.hh | 34 +++++++++---------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh b/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh index 7d84359d..d50e3a2b 100644 --- a/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh +++ b/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh @@ -178,6 +178,16 @@ private: std::set<std::string> continuaPerRod(const std::string& name) const; + /** \brief Add the content of one map to another, aborting rather than overwriting stuff + */ + template <class X, class Y> + static void insert(std::map<X,Y>& map1, const std::map<X,Y>& map2) + { + int oldSize = map1.size(); + map1.insert(map2.begin(), map2.end()); + assert(map1.size() == oldSize + map2.size()); + } + ////////////////////////////////////////////////////////////////// // Data members related to the coupled problem ////////////////////////////////////////////////////////////////// @@ -798,9 +808,7 @@ iterate(std::map<std::pair<std::string,std::string>, RigidBodyMotion<3> >& lambd std::map<std::pair<std::string,std::string>, RigidBodyMotion<3>::TangentVector> forceTorque = rodDirichletToNeumannMap(rodName, lambda); - int oldSize = rodForceTorque.size(); // for debugging - rodForceTorque.insert(forceTorque.begin(), forceTorque.end()); - assert(rodForceTorque.size() == oldSize + forceTorque.size()); + insert(rodForceTorque, forceTorque); } @@ -823,9 +831,7 @@ iterate(std::map<std::pair<std::string,std::string>, RigidBodyMotion<3> >& lambd std::map<std::pair<std::string,std::string>, RigidBodyMotion<3>::TangentVector> forceTorque = continuumDirichletToNeumannMap(continuumName, lambda); - int oldSize = continuumForceTorque.size(); // for debugging - continuumForceTorque.insert(forceTorque.begin(), forceTorque.end()); - assert(continuumForceTorque.size() == oldSize + forceTorque.size()); + insert(continuumForceTorque, forceTorque); } @@ -874,9 +880,7 @@ iterate(std::map<std::pair<std::string,std::string>, RigidBodyMotion<3> >& lambd residualForceTorque, lambda); - int oldSize = interfaceCorrection.size(); // for debugging - interfaceCorrection.insert(continuumInterfaceCorrection.begin(), continuumInterfaceCorrection.end()); - assert(interfaceCorrection.size() == oldSize + continuumInterfaceCorrection.size()); + insert(interfaceCorrection, continuumInterfaceCorrection); } @@ -903,9 +907,7 @@ iterate(std::map<std::pair<std::string,std::string>, RigidBodyMotion<3> >& lambd residualForceTorque, lambda); - int oldSize = interfaceCorrection.size(); // for debugging - interfaceCorrection.insert(rodInterfaceCorrection.begin(), rodInterfaceCorrection.end()); - assert(interfaceCorrection.size() == oldSize + rodInterfaceCorrection.size()); + insert(interfaceCorrection, rodInterfaceCorrection); } @@ -935,9 +937,7 @@ iterate(std::map<std::pair<std::string,std::string>, RigidBodyMotion<3> >& lambd residualForceTorque, lambda); - int oldSize = rodCorrection.size(); // for debugging - rodCorrection.insert(tmp.begin(), tmp.end()); - assert(rodCorrection.size() == oldSize + tmp.size()); + insert(rodCorrection, tmp); } @@ -954,9 +954,7 @@ iterate(std::map<std::pair<std::string,std::string>, RigidBodyMotion<3> >& lambd residualForceTorque, lambda); - int oldSize = continuumCorrection.size(); // for debugging - continuumCorrection.insert(tmp.begin(), tmp.end()); - assert(continuumCorrection.size() == oldSize + tmp.size()); + insert(continuumCorrection,tmp); } -- GitLab