Date: Monday, July 31, 2006 @ 12:08:45
Author: gilles
Path: /cvsroot/carob/carob
Modified: include/ControllerPool.hpp (1.3 -> 1.4) src/ControllerPool.cpp
(1.2 -> 1.3)
Moved PoolIndex less than operator implementation to avoid g++ 3.3 compilation
errors
----------------------------+
include/ControllerPool.hpp | 28 +---------------------------
src/ControllerPool.cpp | 29 +++++++++++++++++++++++++++++
2 files changed, 30 insertions(+), 27 deletions(-)
Index: carob/include/ControllerPool.hpp
diff -u carob/include/ControllerPool.hpp:1.3
carob/include/ControllerPool.hpp:1.4
--- carob/include/ControllerPool.hpp:1.3 Thu Jul 27 17:10:53 2006
+++ carob/include/ControllerPool.hpp Mon Jul 31 12:08:45 2006
@@ -195,33 +195,7 @@
/**
* Less than operator
*/
- bool operator()(const PoolIndex& pi1, const PoolIndex& pi2) const
- {
- if (pi1.policy < pi2.policy)
- return true;
- if (pi1.policy > pi2.policy)
- return false;
- // same policy, compare number of controllers
- if (pi1.controllers.size() < pi2.controllers.size())
- return true;
- else if (pi1.controllers.size() < pi2.controllers.size())
- return false;
- // same size, compare controllers themselves
- std::vector<ControllerInfo>::const_iterator iter_pi1 =
pi1.controllers.begin();
- std::vector<ControllerInfo>::const_iterator iter_pi2 =
pi2.controllers.begin();
- while (iter_pi1 != pi1.controllers.end())
- // we can safely check only pi1, vectors have same size
- {
- if (iter_pi1 < iter_pi2)
- return true;
- if (iter_pi1 > iter_pi2)
- return false;
- iter_pi1++;
- iter_pi2++;
- }
- // identical
- return false;
- }
+ bool operator()(const PoolIndex& pi1, const PoolIndex& pi2) const;
};
/**
Index: carob/src/ControllerPool.cpp
diff -u carob/src/ControllerPool.cpp:1.2 carob/src/ControllerPool.cpp:1.3
--- carob/src/ControllerPool.cpp:1.2 Thu Jul 27 17:10:42 2006
+++ carob/src/ControllerPool.cpp Mon Jul 31 12:08:45 2006
@@ -53,6 +53,35 @@
int controller_failure_number = 0;
};
+/* Pool index less than operator */
+bool ltPoolIndex::operator()(const PoolIndex& pi1, const PoolIndex& pi2) const
+{
+ if (pi1.policy < pi2.policy)
+ return true;
+ if (pi1.policy > pi2.policy)
+ return false;
+ // same policy, compare number of controllers
+ if (pi1.controllers.size() < pi2.controllers.size())
+ return true;
+ else if (pi1.controllers.size() < pi2.controllers.size())
+ return false;
+ // same size, compare controllers themselves
+ std::vector<ControllerInfo>::const_iterator iter_pi1 =
pi1.controllers.begin();
+ std::vector<ControllerInfo>::const_iterator iter_pi2 =
pi2.controllers.begin();
+ while (iter_pi1 != pi1.controllers.end())
+ // we can safely check only pi1, vectors have same size
+ {
+ if (iter_pi1 < iter_pi2)
+ return true;
+ if (iter_pi1 > iter_pi2)
+ return false;
+ iter_pi1++;
+ iter_pi2++;
+ }
+ // identical
+ return false;
+}
+
////////////////////////////////////////////////////////////////////////////////
// ABSTRACT CONTROLLER POOL
////////////////////////////////////////////////////////////////////////////////
_______________________________________________
Carob-commits mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob-commits