21 #ifndef TULIP_ITERATOR_H
22 #define TULIP_ITERATOR_H
24 #include <tulip/tulipconf.h>
28 #ifndef DOXYGEN_NOTFOR_DEVEL
29 extern TLP_SCOPE
void incrNumIterators();
30 extern TLP_SCOPE
void decrNumIterators();
31 extern TLP_SCOPE
int getNumIterators();
32 #endif // DOXYGEN_NOTFOR_DEVEL
39 template<
class itType>
struct Iterator {
57 virtual itType next()=0;
64 virtual bool hasNext()=0;
68 #ifndef DOXYGEN_NOTFOR_DEVEL
69 template<
typename TYPE>
class UINTIterator :
public Iterator<TYPE> {
71 UINTIterator(Iterator<unsigned int> *it):it(it) {
80 return TYPE(it->next());
83 Iterator<unsigned int> *it;
85 #endif // DOXYGEN_NOTFOR_DEVEL
92 #include <tulip/Edge.h>
93 #include <tulip/Node.h>
95 template struct TLP_SCOPE tlp::Iterator<tlp::edge>;
96 template struct TLP_SCOPE tlp::Iterator<tlp::node>;