bool end() const { return cur == last; }
Move move() const { return cur->move; }
size_t size() const { return last - mlist; }
+ bool contains(Move m) const {
+ for (const MoveStack* it(mlist); it != last; ++it) if (it->move == m) return true;
+ return false;
+ }
private:
MoveStack mlist[MAX_MOVES];