inorderEqualOrLarger method
Returns an iterable
of the values starting with the first
node which is equal according to reference
and consisting
of all values equal or larger with respect to reference
.
reference
is either a value of type T
or a function
int order(T treevalue)
which returns -1, 0, or 1 depending on
wether the value treevalue
of a tree node is smaller, equal,
or larger as the reference point.
The standard case is to invoke it with a value of type T
. The
second option is useful in special usage scenarios only, see notes
in the class description.
If this tree supports equivalence classes, it returns
an Iterable of List[T]
, otherwise an Iterable
of T
.
Retuns an empty Iterable if there is no such equivalence class.
Implementation
Iterable<dynamic> inorderEqualOrLarger(reference) {
var n = _leftNeighbourNode(reference);
if (n == null) {
return inorder;
} else {
return new _InorderIterable.fromNode(n,
withEquivalenceClasses: _withEquivalenceClasses)
.skip(1);
}
}