Poco::XSD::Types

class OrderIteratorImpl

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

OrderIteratorImpl();

Creates the OrderIteratorImpl.

Destructor

~OrderIteratorImpl virtual

virtual ~OrderIteratorImpl();

Destroys the OrderIteratorImpl.

Member Functions

canClose virtual

virtual bool canClose() const = 0;

Checks if it is safe to close the iterator, i.e. minoccurs restriction are satisfied.

closeImpl inline

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 inline

bool closed() const;

Returns true if closed was called for this iterator.

end virtual

virtual bool end() const = 0;

Returns true if at end of iteration.

next virtual

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 inline

void resetImpl();

Resets an iterator to its initial state.

validNext virtual

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

virtual const std::set < std::string > & validNexts() const = 0;

Returns the valid names for the next call.

close protected virtual

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 protected virtual

virtual void reset() = 0;

Resets an iterator to its initial state.