#ifndef ITERATOR_H #define ITERATOR_H /* * Generic constants related to iterators. */ /* * The attempt to advance the iterator was successful; the iterator * reflects the new current entry. */ #define ITER_OK … /* * The iterator is exhausted and has been freed. */ #define ITER_DONE … /* * The iterator experienced an error. The iteration has been aborted * and the iterator has been freed. */ #define ITER_ERROR … /* * Return values for selector functions for merge iterators. The * numerical values of these constants are important and must be * compatible with ITER_DONE and ITER_ERROR. */ enum iterator_selection { … }; #endif /* ITERATOR_H */