Iterator {container}R Documentation

Iterator Class

Description

An Iterator is an object that allows to iterate over sequences. It implements next_iter and get_value to iterate and retrieve the value of the sequence it is associated with. For the standard S3 interface, see iter().

Methods

Public methods


Method new()

Iterator constructor

Usage
Iterator$new(x, .subset = .subset2)
Arguments
x

object to iterate over

.subset

accessor function

Returns

invisibly returns the Iterator object


Method begin()

set iterator to the first element of the underlying sequence unless length of sequence is zero, in which case it will point to nothing.

Usage
Iterator$begin()
Returns

invisibly returns the Iterator object


Method get_value()

get value where the iterator points to

Usage
Iterator$get_value()
Returns

returns the value the Iterator is pointing at.


Method get_next()

get next value

Usage
Iterator$get_next()
Returns

increments the iterator and returns the value the Iterator is pointing to.


Method has_next()

check if iterator has more elements

Usage
Iterator$has_next()
Returns

TRUE if iterator has next element else FALSE


Method has_value()

check if iterator points at value

Usage
Iterator$has_value()
Returns

TRUE if iterator points at value otherwise FALSE


Method length()

iterator length

Usage
Iterator$length()
Returns

number of elements to iterate


Method pos()

get iterator position

Usage
Iterator$pos()
Returns

integer if iterator has next element else FALSE


Method next_iter()

increment iterator

Usage
Iterator$next_iter()
Returns

invisibly returns the Iterator object


Method print()

print method

Usage
Iterator$print()

Method reset_iter()

reset iterator to '0'

Usage
Iterator$reset_iter()
Returns

invisibly returns the Iterator object


Method clone()

The objects of this class are cloneable with this method.

Usage
Iterator$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Author(s)

Roman Pahl

Examples


# Numeric Vector
v = 1:3
it = Iterator$new(v)
it

try(it$get_value())  # iterator does not point at a value

it$has_value()
it$has_next()
it$next_iter()
it$get_value()
it$get_next()
it$get_next()
it
it$has_next()
it$begin()
it$get_value()
it$reset_iter()

# Works by reference for Container
co = Container$new(1, 2, 3)
it = co$iter()
it$get_next()
co$discard(2)
it
it$get_value()
co$discard(1)
it
it$get_value()
it$begin()

[Package container version 1.0.4 Index]