Stellarium 0.13.0
List of all members | Public Member Functions
JsonListIterator Class Reference

Qt-style iterator over a JSON array. More...

#include <StelJsonParser.hpp>

Public Member Functions

 JsonListIterator (QIODevice *input)
 Sets up JsonListIterator to read an array. More...
 
QVariant next ()
 Reads and parses the next object from input. More...
 
bool hasNext () const
 Returns true if the next non-whitespace character is not a ']' character. More...
 

Detailed Description

Qt-style iterator over a JSON array.

An actual list is not kept in memory, so only forward iteration is supported and all methods, including the constructor, involve read() calls on the QIODevice. Because of this, do not modify the QIODevice between calls to JsonListIterator methods. Also, the toFront() method has a special function and reset() is provided for convenience. Only peekNext() is guaranteed not to modify the QIODevice.

Constructor & Destructor Documentation

JsonListIterator::JsonListIterator ( QIODevice *  input)

Sets up JsonListIterator to read an array.

Swallows all whitespace up to a beginning '[' character. If '[' is not the first non-whitespace character encountered, reset() is called and an exception is thrown.

Member Function Documentation

bool JsonListIterator::hasNext ( ) const
inline

Returns true if the next non-whitespace character is not a ']' character.

QVariant JsonListIterator::next ( )

Reads and parses the next object from input.

Advances QIODevice to just after the object.

Returns
the next object from the array