Iterator

#include </home/jenkins/.jenkins/ubuntu-remote-queue/jenkins-BuildZorbaUbuntu-462/source/zorba/swig/Iterator.h>

Interface for an Iterator over an instance of the XML Data Model (i.e., a sequence of items). An iterator can be in one of the following two states: open or not-open. When in open state, only methods isOpen(), next() and close() may be called. When in not-open state, only isOpen and open() may be called. The open() method changes the state from non-open to open, and the close() method changes the state from open to not-open.Note: Iterator is not a thread-safe class, i.e., none of its methods should ever be called by two or more threads in parallel.

Friend Classes

friend class

Collection

friend class

CollectionManager

friend class

DocumentManager

friend class

DynamicContext

friend class

ItemSequence

friend class

StaticContext

friend class

XQuery

Protected Attributes

bool

theConsumed

zorba::Item

theItem

zorba::Iterator_t

theIterator

Public Functions

void

close()

Stop iterating.

void

destroy()

brief Destroy this iterator from memory

bool

isOpen()

brief Check whether the iterator is open or not

Iterator()

Iterator(const Iterator &anIterator)

Iterator(zorba::Iterator_t anIterator)

Iterator(zorba::Item &aItem)

bool

next(Item &aItem)

Get the next Item of the sequence.

void

open()

Start iterating.

Friend Classes

Collection

friend class Collection

CollectionManager

friend class CollectionManager

DocumentManager

friend class DocumentManager

DynamicContext

friend class DynamicContext

ItemSequence

friend class ItemSequence

StaticContext

friend class StaticContext

XQuery

friend class XQuery

Protected Attributes

theConsumed

bool theConsumed

theItem

zorba::Item theItem

theIterator

zorba::Iterator_t theIterator

Public Functions

close

void close()

Stop iterating.

The purpose of this method is to release resources that were allocated during open. After calling close(), neither close() nor next() may be called again. However, the iterator may be re-opened (by calling open()).

Parameters

ZorbaException if an error occurs, or the Iterator has not been opened.

destroy

void destroy()

brief Destroy this iterator from memory

isOpen

bool isOpen()

brief Check whether the iterator is open or not

Iterator

 Iterator()

Iterator

 Iterator(const Iterator &anIterator)

Iterator

 Iterator(zorba::Iterator_t anIterator)

Iterator

 Iterator(zorba::Item &aItem)

next

bool next(Item &aItem)

Get the next Item of the sequence.

Parameters

aItem the next Item of the result sequence, if true is returned by the function.

Returns

false if all the items of the sequence have been returned already by previous invocations of next(); true otherwise.

Parameters

ZorbaException if an error occurs, or the Iterator has not been opened.

open

void open()

Start iterating.

This function needs to be called before calling next() or close(). Its purpose is to create and initialize any resources that may be needed during the iteration. It should not be called again until after close() has been called.

Parameters

ZorbaException if an error occurs, or the iterator is open already.