Library: XSD/Types
Package: Iterator
Header: Poco/XSD/Types/OrderIteratorImpl.h
OrderIteratorImpl is the interface for all different Iterator implementations.
Direct Base Classes: Poco::RefCountedObject
All Base Classes: Poco::RefCountedObject
Known Derived Classes: AllIterator, AnyIterator, ChoiceIterator, ElementIterator, SequenceIterator
Member Functions: canClose, close, closeImpl, closed, end, next, reset, resetImpl, validNext, validNexts
Inherited Functions: duplicate, referenceCount, release
typedef AutoPtr < OrderIteratorImpl > Ptr;
Creates the OrderIteratorImpl.
virtual ~OrderIteratorImpl();
Destroys the OrderIteratorImpl.
virtual bool canClose() const = 0;
Checks if it is safe to close the iterator, i.e. minoccurs restriction are satisfied.
void closeImpl();
Closes an iterator. Use this method to indicate that you are finished with iteration and we want to detect that you are at the end of iteration (ie minoccurs restriction are satisified).
bool closed() const;
Returns true if closed was called for this iterator.
virtual bool end() const = 0;
Returns true if at end of iteration.
virtual OrderContent::Ptr next(
const std::string & name
) = 0;
Returns the next OrderContent with the given name. Will fail with an IllegalOrderException if name is not part of the set returned by validNexts().
void resetImpl();
Resets an iterator to its initial state.
virtual bool validNext(
const std::string & name
) const = 0;
Returns true if the element with the given name is a valid next element.
virtual const std::set < std::string > & validNexts() const = 0;
Returns the valid names for the next call.
virtual void close() = 0;
Closes an iterator. Use this method to indicate that you are finished with iteration and we want to detect that you are at the end of iteration (ie minoccurs restriction are satisified).
virtual void reset() = 0;
Resets an iterator to its initial state.