CopperSpice API  1.7.2
QScriptClassPropertyIterator Class Referenceabstract

The QScriptClassPropertyIterator class provides an iterator interface for custom CsScript objects. More...

Public Methods

virtual ~QScriptClassPropertyIterator ()
 
virtual QScriptValue::PropertyFlags flags () const
 
virtual bool hasNext () const = 0
 
virtual bool hasPrevious () const = 0
 
virtual uint id () const
 
virtual QScriptString name () const = 0
 
virtual void next () = 0
 
QScriptValue object () const
 
virtual void previous () = 0
 
virtual void toBack () = 0
 
virtual void toFront () = 0
 

Protected Methods

 QScriptClassPropertyIterator (const QScriptValue &object)
 

Detailed Description

The QScriptClassPropertyIterator class provides an iterator interface for custom CsScript objects.

This class is only relevant if you have subclassed QScriptClass and want to provide enumeration of your custom properties (e.g. when objects of your class are used with QScriptValueIterator, or with the for-in statement in scripts).

The object() function returns the CsScript object the iterator is traversing.

The functions toFront(), hasNext() and next() provide forward iteration. The functions toBack(), hasPrevious() and previous() provide backward iteration.

The functions name(), id() and flags() return information about the last property that was jumped over using next() or previous().

See also
QScriptClass::newIterator(), QScriptValueIterator

Constructor & Destructor Documentation

QScriptClassPropertyIterator::~QScriptClassPropertyIterator ( )
virtual

Destroys the iterator.

QScriptClassPropertyIterator::QScriptClassPropertyIterator ( const QScriptValue object)
protected

Constructs an iterator for traversing object.

Subclasses should ensure that the iterator is set to the front of the sequence of properties (before the first property).

Method Documentation

QScriptValue::PropertyFlags QScriptClassPropertyIterator::flags ( ) const
virtual

Returns the flags of the last property that was jumped over using next() or previous().

The default implementation calls the propertyFlags() function of object() with argument name().

bool QScriptClassPropertyIterator::hasNext ( ) const
pure virtual

Returns true if there is at least one item ahead of the iterator (i.e. the iterator is not at the back of the property sequence), otherwise returns false.

See also
next(), hasPrevious()
bool QScriptClassPropertyIterator::hasPrevious ( ) const
pure virtual

Returns true if there is at least one item behind the iterator (i.e. the iterator is not at the front of the property sequence), otherwise returns false.

See also
previous(), hasNext()
uint QScriptClassPropertyIterator::id ( ) const
virtual

Returns the id of the last property that was jumped over using next() or previous().

The default implementation returns 0.

See also
name()
QScriptString QScriptClassPropertyIterator::name ( ) const
pure virtual

Returns the name of the last property that was jumped over using next() or previous().

See also
id()
void QScriptClassPropertyIterator::next ( )
pure virtual

Advances the iterator by one position.

Calling this function on an iterator located at the back of the container leads to undefined behavior.

See also
hasNext(), previous(), name()
QScriptValue QScriptClassPropertyIterator::object ( ) const

Returns the CsScript object this iterator is traversing.

void QScriptClassPropertyIterator::previous ( )
pure virtual

Moves the iterator back by one position.

Calling this function on an iterator located at the front of the container leads to undefined behavior.

See also
hasPrevious(), next(), name()
void QScriptClassPropertyIterator::toBack ( )
pure virtual

Moves the iterator to the back of the QScriptValue (after the last property).

See also
toFront(), previous()
void QScriptClassPropertyIterator::toFront ( )
pure virtual

Moves the iterator to the front of the QScriptValue (before the first property).

See also
toBack(), next()