WvStreams
|
An abstract iterator over keys and values in a generator. More...
#include <uniconfgen.h>
Public Member Functions | |
virtual | ~Iter () |
Destroys the iterator. | |
virtual void | rewind ()=0 |
Rewinds the iterator. More... | |
virtual bool | next ()=0 |
Seeks to the next element in the sequence. More... | |
virtual UniConfKey | key () const =0 |
Returns the current key. | |
virtual WvString | value () const =0 |
Returns the value of the current key. More... | |
An abstract iterator over keys and values in a generator.
Unlike other WvStreams iterators, this one declares virtual methods so that UniConfGen implementations can supply the right behaviour through a common interface that does not depend on static typing.
The precise traversal sequence is defined by the iterator implementation.
The iterator need not support concurrent modifications of the underlying data structures.
TODO: Consider changing this rule depending on observed usage patterns.
Definition at line 323 of file uniconfgen.h.
|
pure virtual |
Rewinds the iterator.
Must be called prior to the first invocation of next().
Implemented in UniConfGen::NullIter, UniUnwrapGen::RecursiveIter, _UniSecureIter, UniUnwrapGen::Iter, GenStyleChangeTreeIter, UniFileSystemGenIter, GenStyleValueTreeIter, UniListIter, UniRegistryGenIter, UniListGen::IterIter, and UniWvConfGen::WvConfIter.
Referenced by UniTransactionGen::apply_values(), UniTransactionGen::cancel_values(), UniTransactionGen::deletion_simulator(), UniTransactionGen::deletion_simulator2(), UniConfGen::haschildren(), GenStyleChangeTreeIter::next(), and _UniSecureIter::rewind().
|
pure virtual |
Seeks to the next element in the sequence.
Returns true if that element exists. Must be called prior to the first invocation of key().
Implemented in UniConfGen::NullIter, UniUnwrapGen::RecursiveIter, _UniSecureIter, UniUnwrapGen::Iter, GenStyleChangeTreeIter, UniFileSystemGenIter, GenStyleValueTreeIter, UniListIter, UniRegistryGenIter, UniListGen::IterIter, and UniWvConfGen::WvConfIter.
Referenced by UniTransactionGen::apply_values(), UniTransactionGen::cancel_values(), UniTransactionGen::deletion_simulator(), UniTransactionGen::deletion_simulator2(), UniConfGen::haschildren(), GenStyleChangeTreeIter::next(), and _UniSecureIter::next().
|
pure virtual |
Returns the value of the current key.
You could just do a get(), but maybe your generator has a more efficient way.
Implemented in UniConfGen::NullIter, GenStyleChangeTreeIter, UniUnwrapGen::RecursiveIter, _UniSecureIter, UniUnwrapGen::Iter, UniFileSystemGenIter, GenStyleValueTreeIter, UniRegistryGenIter, UniListIter, UniListGen::IterIter, and UniWvConfGen::WvConfIter.
Referenced by GenStyleChangeTreeIter::value().