+
Point of view
All features
class ITERATOR_ON_ROPE
Summary
Please do not use this class directly. Look at ITERATOR.
Direct parents
Inherit list: ITERATOR
Class invariant
Overview
Creation features
{ANY}
Features
{}
{ANY}
  • make (r: ROPE)
  • start
    Positions the iterator to the first object in the aggregate to be traversed.
  • is_off: BOOLEAN
    Returns True when there are no more objects in the sequence.
  • item: CHARACTER
    Returns the object at the current position in the sequence.
  • next
    Positions the iterator to the next object in the sequence.
{ANY}
{ANY}
Agent-based features:
{ANY}
Invariant on generation` dynamics
{}
root: ROPE
writable attribute
{}
The beginning of the rope to be traversed.
right_visited: BOOLEAN
writable attribute
{}
Has right been iterated onto?
writable attribute
{}
Current position on piece.
make (r: ROPE)
effective procedure
{ANY}
require
  • r /= Void
ensure
start
effective procedure
{ANY}
Positions the iterator to the first object in the aggregate to be traversed.
ensure
  • iter /= Void
  • is_valid
is_off: BOOLEAN
effective function
{ANY}
Returns True when there are no more objects in the sequence.
require
  • is_valid
ensure
  • generation = old generation
  • is_valid
item: CHARACTER
effective function
{ANY}
Returns the object at the current position in the sequence.
require
  • is_valid
  • not is_off
ensure
  • generation = old generation
  • is_valid
next
effective procedure
{ANY}
Positions the iterator to the next object in the sequence.
require
  • is_valid
  • not is_off
ensure
  • generation = old generation
  • is_valid
iterable_generation: INTEGER_32
effective function
{ANY}
generation: INTEGER_32
writable attribute
{ANY}
is_valid: BOOLEAN
frozen
effective function
{ANY}
for_each (action: PROCEDURE[TUPLE[TUPLE 1[E_]]])
effective procedure
{ANY}
Apply action to every item of Current.
See also for_all, exists, aggregate.
for_all (test: FUNCTION[TUPLE[TUPLE 1[E_]]]): BOOLEAN
effective function
{ANY}
Do all items satisfy test?
See also for_each, exists, aggregate.
exists (test: FUNCTION[TUPLE[TUPLE 1[E_]]]): BOOLEAN
effective function
{ANY}
Does at least one item satisfy test?
See also for_each, for_all, aggregate.
aggregate (action: FUNCTION[TUPLE[TUPLE 2[E_, E_], E_]], initial: E_): E_
effective function
{ANY}
Aggregate all the elements starting from the initial value.
See also for_each, for_all, exists.
generation_for_invariant: INTEGER_32
writable attribute
{}
generation_only_grows: BOOLEAN
effective function
{}