Qore Programming Language Reference Manual 2.0.0
Loading...
Searching...
No Matches
Qore::SingleValueIterator Class Reference

This class defines a simple iterator to be used to iterate single values (or complex objects where no iterator has been implemented yet) More...

#include <QC_SingleValueIterator.dox.h>

Inheritance diagram for Qore::SingleValueIterator:
[legend]

Public Member Methods

 constructor (auto v)
 creates the single value iterator with the value passed as an argument
 
 copy ()
 Creates a copy of the SingleValueIterator object, iterating the same object as the original and in the same position.
 
auto getValue ()
 returns the current value or throws an INVALID-ITERATOR exception if the iterator is invalid
 
bool next ()
 This method returns True and False alternately unless it has no value to iterate, in which case it returns only False.
 
 reset ()
 Reset the iterator instance to its initial state.
 
bool valid ()
 returns True if the iterator is currently pointing at a valid element, False if not
 
- Public Member Methods inherited from Qore::AbstractIterator
abstract auto getValue ()
 returns the current value
 
abstract bool next ()
 Moves the current position to the next element; returns False if there are no more elements.
 
abstract bool valid ()
 returns True if the iterator is currently pointing at a valid element, False if not
 

Detailed Description

This class defines a simple iterator to be used to iterate single values (or complex objects where no iterator has been implemented yet)

Since
Qore 0.8.6
Example: SingleValueIterator basic usage
auto val = 1;
SingleValueIterator it(val);
while (it.next()) {
printf("iter: %n\n", it.getValue());
}
iter: 1

Remember that input value is taken as a single token so result of the code above for a list as an input argument will be like this:

auto val = (1, 2, 3);
iter: list: (1, 2, 3)

Member Function Documentation

◆ constructor()

Qore::SingleValueIterator::constructor ( auto  v)

creates the single value iterator with the value passed as an argument

Parameters
vthe value to iterate
Example:
SingleValueIterator i(v);

◆ copy()

Qore::SingleValueIterator::copy ( )

Creates a copy of the SingleValueIterator object, iterating the same object as the original and in the same position.

Example:
SingleValueIterator ni = i.copy();

◆ getValue()

auto Qore::SingleValueIterator::getValue ( )

returns the current value or throws an INVALID-ITERATOR exception if the iterator is invalid

Returns
the current value or throws an INVALID-ITERATOR exception if the iterator is invalid
Code Flags:
RET_VALUE_ONLY
Example:
while (i.next()) {
printf("+ %y\n", i.getValue());
}
Exceptions
INVALID-ITERATORthe iterator is not pointing at a valid element

◆ next()

bool Qore::SingleValueIterator::next ( )

This method returns True and False alternately unless it has no value to iterate, in which case it returns only False.

The iterator object should not be used after this method returns False

Returns
True and False alternately unless it has no value to iterate, in which case it returns only False
Example:
while (i.next()) {
printf("value: %y\n", i.getValue());
}
Exceptions
ITERATOR-THREAD-ERRORthis exception is thrown if this method is called from any thread other than the thread that created the object

◆ reset()

Qore::SingleValueIterator::reset ( )

Reset the iterator instance to its initial state.

Reset the iterator instance to its initial state

Example
i.reset();
Exceptions
ITERATOR-THREAD-ERRORthis exception is thrown if this method is called from any thread other than the thread that created the object

◆ valid()

bool Qore::SingleValueIterator::valid ( )

returns True if the iterator is currently pointing at a valid element, False if not

Returns
True if the iterator is currently pointing at a valid element, False if not
Code Flags:
CONSTANT
Example:
if (i.valid())
printf("current value: %y\n", i.getValue());