+
Point of view
All features
class COROUTINE_ITERATOR [O_ -> TUPLE, Y_]
Summary
Direct parents
Inherit list: ANY_COROUTINE_ITERATOR, ITERATOR
Class invariant
Overview
Creation features
{COROUTINE}
  • make (a_coroutine: COROUTINE[O_, Y_], a_arguments: O_)
Features
{ANY}
{}
{COROUTINE}
called by the plugin using CECIL
{}
{}
{ANY}
Agent-based features:
{ANY}
Invariant on generation` dynamics
{}
{COROUTINE}
  • fix_dumb_cecil
    Because there is a bug somewhere in Liberty Eiffel, ensures that the CECIL code is correctly generated.
start
effective procedure
{ANY}
Positions the iterator to the first object in the aggregate to be traversed.
ensure
  • is_valid
is_off: BOOLEAN
writable attribute
{ANY}
Returns True when there are no more objects in the sequence.
require
  • is_valid
ensure
  • generation = old generation
  • is_valid
item: Y_
writable attribute
{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
generation: INTEGER_32
is 0
constant attribute
{ANY}
iterable_generation: INTEGER_32
is 0
constant attribute
{ANY}
context: POINTER
writable attribute
{}
set_item (a_item: Y_)
effective procedure
ensure
yield
effective procedure
invoke
effective procedure
{}
arguments: O_
writable attribute
{}
coroutine: COROUTINE[O_, Y_]
writable attribute
{}
make (a_coroutine: COROUTINE[O_, Y_], a_arguments: O_)
effective procedure
{}
ensure
init
once procedure
{}
initialize
{}
do_start (a_iterator: COROUTINE_ITERATOR [O_ -> TUPLE, Y_], a_coroutine: COROUTINE[O_, Y_]): POINTER
{}
do_continue (a_context: POINTER): BOOLEAN
{}
do_yield (a_context: POINTER)
{}
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
{}
fix_dumb_cecil
effective procedure
Because there is a bug somewhere in Liberty Eiffel, ensures that the CECIL code is correctly generated.