# HG changeset patch # User Alpar Juttner # Date 1226936475 0 # Node ID b04e431907bc53dca706123cac6bafa1e9c89717 # Parent d916b8995e223181cb0fe17a1082adf7ff1a1b57 Avoid STL panic at Elevator when compiled with -D_GLIBCXX_DEBUG diff -r d916b8995e22 -r b04e431907bc lemon/elevator.h --- a/lemon/elevator.h Mon Nov 17 15:41:15 2008 +0000 +++ b/lemon/elevator.h Mon Nov 17 15:41:15 2008 +0000 @@ -57,7 +57,7 @@ private: - typedef typename std::vector::iterator Vit; + typedef Item *Vit; typedef typename ItemSetTraits::template Map::Type VitMap; typedef typename ItemSetTraits::template Map::Type IntMap; @@ -433,10 +433,10 @@ void initStart() { _init_lev=0; - _init_num=_items.begin(); - _first[0]=_items.begin(); - _last_active[0]=_items.begin()-1; - Vit n=_items.begin(); + _init_num=&_items[0]; + _first[0]=&_items[0]; + _last_active[0]=&_items[0]-1; + Vit n=&_items[0]; for(typename ItemSetTraits::ItemIt i(_g);i!=INVALID;++i) { *n=i; @@ -475,8 +475,8 @@ _first[_init_lev]=_init_num; _last_active[_init_lev]=_init_num-1; } - _first[_max_level+1]=_items.begin()+_item_num; - _last_active[_max_level+1]=_items.begin()+_item_num-1; + _first[_max_level+1]=&_items[0]+_item_num; + _last_active[_max_level+1]=&_items[0]+_item_num-1; _highest_active = -1; }