CluE  1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
setiterator.h
Go to the documentation of this file.
1 #ifndef SETITERATOR_H
2 #define SETITERATOR_H
3 
4 #include <vector>
5 #include <set>
6 
7 #include "../misc/flippinggraycodebits.h"
8 
9 namespace CluE
10 {
11 
15 template<class T> class SetIterator
16 {
17 public:
21  virtual size_t size() const = 0;
22 
27  virtual void next() = 0;
28 
32  virtual bool hasMore() const = 0;
33 
37  virtual std::set<T*> set() const = 0;
38 
42  virtual std::vector<T*> vector() const = 0;
43 };
44 
45 }
46 
47 #endif
virtual size_t size() const =0
Size of the current element.
virtual bool hasMore() const =0
Returns if there are more elements available.
virtual std::vector< T * > vector() const =0
Returns the current element as a vector.
Base class used to provide iterating over sets.
Definition: setiterator.h:15
virtual void next()=0
Generates the next subset.
virtual std::set< T * > set() const =0
Returns the current element as a set.