32 iterator%first_node => first_node
33 iterator%current_node => null()
44 if (
associated(this%current_node))
then
45 res =
associated(this%current_node%next)
47 res =
associated(this%first_node)
58 if (
associated(this%current_node))
then
59 this%current_node => this%current_node%next
61 this%current_node => this%first_node
68 function value(this)
result(res)
70 class(*),
pointer :: res
72 if (
associated(this%current_node))
then
73 res => this%current_node%value
subroutine next(this)
Increment the iterator to the next node.
class(*) function, pointer value(this)
Get the value the iterator is pointing at.
type(logical) function has_next(this)
Indicates if there is a next node in the iteration chain.
type(keyvaluelistiteratortype) function constructor(first_node)
Constructor to create a KeyValueListIterator.
This module defines variable data types.
An iterator used to iterate through a KeyValueList.