-struct pneigh_load_less {
- bool operator()(const neighbor* a, const neighbor* b)
- {
- return a->get_load() < b->get_load();
- }
-};
-
-struct pneigh_load_greater {
- bool operator()(const neighbor* a, const neighbor* b)
- {
- return a->get_load() > b->get_load();
- }
-};
+template <typename Compare>
+void process::pneigh_sort_by_load(const Compare& comp)
+{
+ using std::tr1::bind;
+ using std::tr1::placeholders::_1;
+ using std::tr1::placeholders::_2;
+ std::sort(pneigh.begin(), pneigh.end(),
+ bind(comp,
+ bind(&neighbor::get_load, _1),
+ bind(&neighbor::get_load, _2)));
+}