# Like standard Array or LinkedList, CircularList is a Sequence.
super Sequence[E]
- # NaiveCollection contains working (but inefficient) implementation of
- # the methods of Collection.
- super NaiveCollection[E]
-
# The first node of the list if any
# The special case of an empty list is handled by a null node
private var node: nullable CLNode[E] = null
private class CircularListIterator[E]
super IndexedIterator[E]
- redef var index: Int
+ redef var index: Int = 0
# The current node pointed.
# Is null if the list is empty.
- var node: nullable CLNode[E]
+ var node: nullable CLNode[E] is noinit
# The list iterated.
var list: CircularList[E]
redef fun item do return self.node.item
- init(list: CircularList[E])
+ init
do
self.node = list.node
- self.list = list
- self.index = 0
end
end