Iterator over AST
[satune.git] / src / AST / iterator.h
1 #ifndef ITERATOR_H
2 #define ITERATOR_H
3 #include "classlist.h"
4 #include "structs.h"
5
6 class BooleanIterator {
7  public:
8         BooleanIterator(CSolver * _solver);
9         ~BooleanIterator();
10         bool hasNext();
11         Boolean * next();
12         CMEMALLOC;
13  private:
14         SetIteratorBooleanEdge * solverit;
15         HashsetBoolean discovered;
16         Vector<Boolean *> boolean;
17         Vector<uint> index;
18         void updateNext();
19 };
20
21 class ElementIterator {
22  public:
23         CMEMALLOC;
24  private:
25         BooleanIterator bit;
26 };
27
28
29 #endif