File Information
Library: XSD/Types
Package: Iterator
Header: Poco/XSD/Types/OrderIteratorImpl.h
Description
OrderIteratorImpl is the interface for all different Iterator implementations.
Inheritance
Direct Base Classes: Poco::RefCountedObject
All Base Classes: Poco::RefCountedObject
Known Derived Classes: ElementIterator, AnyIterator, SequenceIterator, AllIterator, ChoiceIterator
Member Summary
Member Functions: canClose, close, closeImpl, closed, end, next, reset, resetImpl, validNext, validNexts
Inherited Functions: duplicate, referenceCount, release
Types
Ptr
typedef AutoPtr < OrderIteratorImpl > Ptr;
Constructors
OrderIteratorImpl
Creates the OrderIteratorImpl.
Destructor
~OrderIteratorImpl
virtual ~OrderIteratorImpl();
Destroys the OrderIteratorImpl.
Member Functions
canClose
virtual bool canClose() const = 0;
Checks if it is safe to close the iterator, i.e. minoccurs restriction are satisfied.
closeImpl
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).
closed
bool closed() const;
Returns true if closed was called for this iterator.
end
virtual bool end() const = 0;
Returns true if at end of iteration.
next
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().
resetImpl
void resetImpl();
Resets an iterator to its initial state.
validNext
virtual bool validNext(
const std::string & name
) const = 0;
Returns true if the element with the given name is a valid next element.
validNexts
virtual const std::set < std::string > & validNexts() const = 0;
Returns the valid names for the next call.
close
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).
reset
virtual void reset() = 0;
Resets an iterator to its initial state.