Type Hierarchy:

- Anything
  - Object
    - Basic
      - LazyList<out Element>

Satisfied Interfaces: Category, Cloneable<List<Element>>, Collection<Element>, Correspondence<Integer,Element>, Iterable<Element,Null>, List<Element>, Ranged<Integer,List<Element>>

An implementation of `List` that wraps an `Iterable` of elements. All operations on this `List` are performed on the `Iterable`.

By: Enrique Zamudio

Initializer
LazyList({Element*} elems)

Attributes
clone | Source Code shared actual List<Element> clone Obtain a clone of this object. For a mutable object, this should return a copy of the object. For an immutable object, it is acceptable to return the object itself. Refined declaration: clone
first | Source Code shared actual default Element? first The first element returned by the iterator, if any, of `null` if the iterable object is empty. Refined declaration: first
hash | Source Code shared actual default Integer hash The hash value of the value, which allows the value to be an element of a hash-based set or key of a hash-based map. Implementations must respect the constraint that if `x==y` then `x.hash==y.hash`. Refined declaration: hash
last | Source Code shared actual default Element? last The last element returned by the iterator, if any, of `null` if the iterable object is empty. Iterable objects are potentially infinite, so calling this might never return; also, this implementation will iterate through all the elements, which might be very time-consuming. Refined declaration: last
lastIndex | Source Code shared actual Integer? lastIndex The index of the last element of the list, or null if the list is empty. Refined declaration: lastIndex
rest | Source Code shared actual List<Element> rest Returns an iterable object containing all but the first element of this container. Refined declaration: rest
reversed | Source Code shared actual List<Element> reversed Returns a `List` with the elements of this `List` in reverse order. This operation will create copy the elements to a new `List`, so changes to the original `Iterable` will no longer be reflected in the new `List`. Refined declaration: reversed

Inherited Attributes
Attributes inherited from: Object string
Attributes inherited from: Cloneable<Clone> clone
Attributes inherited from: Collection<Element> string
Attributes inherited from: Correspondence<Key,Item> keys
Attributes inherited from: Iterable<Element,Absent> coalesced, cycled, empty, first, indexed, last, rest, sequence, size, string
Attributes inherited from: List<Element> hash, lastIndex, reversed

Methods
equals | Source Code shared actual default Boolean equals(Object that) Determine if two values are equal. Implementations should respect the constraints that: if `x===y` then `x==y` (reflexivity), if `x==y` then `y==x` (symmetry), if `x==y` and `y==z` then `x==z` (transitivity). Furthermore it is recommended that implementations ensure that if `x==y` then `x` and `y` have the same concrete class. Refined declaration: equals
findLast | Source Code shared actual default Element? findLast(Boolean selecting(Element elem)) The last element which satisfies the given predicate, if any, or `null` otherwise. Refined declaration: findLast
get | Source Code shared actual Element? get(Integer index) Returns the value defined for the given key, or `null` if there is no value defined for the given key. Refined declaration: get
iterator | Source Code shared actual Iterator<Element> iterator() An iterator for the elements belonging to this container. Refined declaration: iterator
segment | Source Code shared actual List<Element> segment(Integer from, Integer length) Obtain a segment containing the mapped values starting from the given index, with the given length. Refined declaration: segment
span | Source Code shared actual List<Element> span(Integer from, Integer to) Obtain a span containing the mapped values between the two given indices. Refined declaration: span
spanFrom | Source Code shared actual List<Element> spanFrom(Integer from) Obtain a span containing the mapped values between the starting index and the end of the receiver. Refined declaration: spanFrom
spanTo | Source Code shared actual List<Element> spanTo(Integer to) Obtain a span containing the mapped values between the start of the receiver and the end index. Refined declaration: spanTo

Inherited Methods
Methods inherited from: Category contains, containsAny, containsEvery
Methods inherited from: Correspondence<Key,Item> defines, definesAny, definesEvery, get, items
Methods inherited from: Iterable<Element,Absent> any, by, chain, collect, count, cycle, defaultNullElements, every, filter, find, findLast, fold, following, iterator, longerThan, map, repeat, select, shorterThan, skipping, skippingWhile, sort, taking, takingWhile
Methods inherited from: List<Element> endsWith, equals, firstInclusion, firstOccurrence, includes, includesAt, inclusions, indexes, initial, lastInclusion, lastOccurrence, occurrences, occurs, occursAt, startsWith, terminal, trim, trimLeading, trimTrailing, withLeading, withTrailing
Methods inherited from: Ranged<Index,Span> segment, span, spanFrom, spanTo