00001 00029 #include "isam/Node.h" 00030 #include "isam/Factor.h" 00031 00032 namespace isam 00033 { 00034 void Node::mark_deleted() { 00035 _deleted = true; 00036 for (std::list<Factor*>::iterator factor = _factors.begin(); factor != _factors.end(); ++factor) 00037 (*factor)->mark_deleted(); 00038 } 00039 void Node::erase_marked_factors() { 00040 for (std::list<Factor*>::iterator factor = _factors.begin(); factor != _factors.end();) 00041 if ((*factor)->deleted()) factor = _factors.erase(factor); 00042 else ++factor; 00043 } 00044 } // namespace - isam