[Lemon-commits] [lemon_svn] klao: r2616 - hugo/trunk/lemon
Lemon SVN
svn at lemon.cs.elte.hu
Mon Nov 6 20:53:56 CET 2006
Author: klao
Date: Fri Mar 10 19:17:37 2006
New Revision: 2616
Modified:
hugo/trunk/lemon/unionfind.h
Log:
UnionFindEnum: one remaining bug; removing commented out code
Modified: hugo/trunk/lemon/unionfind.h
==============================================================================
--- hugo/trunk/lemon/unionfind.h (original)
+++ hugo/trunk/lemon/unionfind.h Fri Mar 10 19:17:37 2006
@@ -300,7 +300,7 @@
IIter clit = _find(m[comp]);
ItemList &c = *clit->my_class;
- c.push_back(ItemType(a,0));
+ c.push_back(ItemType(a,CIter()));
IIter ai = c.end();
--ai;
ai->parent = clit;
@@ -347,7 +347,6 @@
alist.splice(alist.end(),*cb->my_class);
classes.erase(cb->my_class);
- // ehem: cb->my_class = 0;
}
else {
@@ -358,7 +357,6 @@
blist.splice(blist.end(),*ca->my_class);
classes.erase(ca->my_class);
- // ehem: ca->my_class = 0;
}
return true;
@@ -420,7 +418,6 @@
if (la == ia) return;
ia->my_class = la->my_class;
- // ehem: la->my_class = 0;
ia->size = la->size;
@@ -478,7 +475,6 @@
}
ai->parent = clit;
- // ehem: ai->my_class = 0;
++clit->size;
return true;
@@ -496,13 +492,11 @@
void erase(const T &a) {
IIter ma = m[a];
- // ehem: if (ma == 0) return;
IIter la = _find(ma);
if (la == ma) {
if (ma -> size == 1){
classes.erase(ma->my_class);
- // ehem: m.set(a,0);
return;
}
++la;
@@ -516,7 +510,6 @@
la->size--;
la->my_class->erase(ma);
- // ehem: m.set(a,0);
}
/**
@@ -529,12 +522,6 @@
void eraseClass(const T &a) {
IIter ma = m[a];
- // ehem: if (ma == 0) return;
-// # ifdef DEBUG
-// CIter c = _find(ma)->my_class;
-// for (IIter i=c->begin(); i!=c->end(); ++i)
-// m.set(i->me, 0);
-// # endif
classes.erase(_find(ma)->my_class);
}
@@ -581,16 +568,6 @@
// obsoleted:
bool valid() const { return l!=0 && i!=l->end(); }
- private:
- //void first(const ClassList &l) { i = l.begin(); validate(l); }
-// void next(const ClassList &l) {
-// ++i;
-// validate(l);
-// }
-// void validate(const ClassList &l) {
-// if ( i == l.end() )
-// i = 0;
-// }
};
/**
@@ -661,13 +638,13 @@
}
operator const T& () const { return i->me; }
- bool operator == (ItemIt it) const {
+ bool operator == (ItemIt const &it) const {
return (l==it.l && i==it.i) || (!valid() && !it.valid());
}
- bool operator != (ItemIt it) const {
+ bool operator != (ItemIt const &it) const {
return !(*this == it);
}
- bool operator < (ItemIt it) const {
+ bool operator < (ItemIt const &it) const {
return (i < it.i);
}
@@ -685,16 +662,6 @@
// obsoleted:
bool valid() const { return l!=0 && i!=l->end(); }
- private:
-// void first(const ItemList &il) { l=&il; i = l->begin(); validate(); }
-// void next() {
-// ++i;
-// validate();
-// }
-// void validate() {
-// if ( i == l->end() )
-// i = 0;
-// }
};
More information about the Lemon-commits
mailing list