Generic Structure

LazyMapCollection

A Collection whose elements consist of those in a Base Collection passed through a transform function returning Element. These elements are computed lazily, each time they’re read, by calling the transform function on a base element.

Topics

Instance Properties

var count: Int

The number of elements in the collection.

var count: Int

The number of elements in the collection.

var first: Element?

The first element of the collection.

var indices: DefaultIndices<LazyMapCollection<Base, Element>>

The indices that are valid for subscripting the collection, in ascending order.

var indices: Range<Base.Index>

The indices that are valid for subscripting the collection, in ascending order.

var isEmpty: Bool

A Boolean value indicating whether the collection is empty.

var isEmpty: Bool

A Boolean value indicating whether the collection is empty.

var last: Element?

The last element of the collection.

var lazy: LazyCollection<LazyMapCollection<Base, Element>>

A view onto this collection that provides lazy implementations of normally eager operations, such as map and filter.

var lazy: LazySequence<LazyMapCollection<Base, Element>>

A sequence containing the same elements as this sequence, but on which some operations, such as map and filter, are implemented lazily.

var underestimatedCount: Int

A value less than or equal to the number of elements in the sequence, calculated nondestructively.

var underestimatedCount: Int

A value less than or equal to the number of elements in the sequence, calculated nondestructively.

var underestimatedCount: Int

A value less than or equal to the number of elements in the collection.

Instance Methods

func allSatisfy((Element) -> Bool) -> Bool

Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.

func compactMap<ElementOfResult>((Element) -> ElementOfResult?) -> [ElementOfResult]

Returns an array containing the non-nil results of calling the given transformation with each element of this sequence.

func contains(Element) -> Bool

Returns a Boolean value indicating whether the sequence contains the given element.

func contains(where: (Element) -> Bool) -> Bool

Returns a Boolean value indicating whether the sequence contains an element that satisfies the given predicate.

func drop(while: (Element) -> Bool) -> LazyDropWhileCollection<LazyMapCollection<Base, Element>>

Returns a lazy collection that skips any initial elements that satisfy predicate.

func dropFirst() -> LazyMapCollection<Base.SubSequence, Element>

Returns a subsequence containing all but the first element of the sequence.

func dropFirst(Int) -> LazyMapCollection<Base.SubSequence, Element>

Returns a subsequence containing all but the given number of initial elements.

func dropLast() -> LazyMapCollection<Base.SubSequence, Element>

Returns a subsequence containing all but the last element of the sequence.

func dropLast(Int) -> LazyMapCollection<Base.SubSequence, Element>

Returns a subsequence containing all but the specified number of final elements.

func elementsEqual<OtherSequence>(OtherSequence) -> Bool

Returns a Boolean value indicating whether this sequence and another sequence contain the same elements in the same order.

func elementsEqual<OtherSequence>(OtherSequence, by: (Element, OtherSequence.Element) -> Bool) -> Bool

Returns a Boolean value indicating whether this sequence and another sequence contain equivalent elements in the same order, using the given predicate as the equivalence test.

func enumerated() -> EnumeratedSequence<LazyMapCollection<Base, Element>>

Returns a sequence of pairs (n, x), where n represents a consecutive integer starting at zero and x represents an element of the sequence.

func first(where: (Element) -> Bool) -> Element?

Returns the first element of the sequence that satisfies the given predicate.

func firstIndex(of: Element) -> Base.Index?

Returns the first index where the specified value appears in the collection.

func firstIndex(where: (Element) -> Bool) -> Base.Index?

Returns the first index in which an element of the collection satisfies the given predicate.

func forEach((Element) -> Void)

Calls the given closure on each element in the sequence in the same order as a for-in loop.

func formIndex(inout Base.Index, offsetBy: Int)

Offsets the given index by the specified distance.

func formIndex(inout Base.Index, offsetBy: Int, limitedBy: Base.Index) -> Bool

Offsets the given index by the specified distance, or so that it equals the given limiting index.

func index(before: LazyMapCollection<Base, Element>.Index) -> LazyMapCollection<Base, Element>.Index

A value less than or equal to the number of elements in the collection.

func joined() -> FlattenCollection<LazyMapCollection<Base, Element>>

Returns the elements of this collection of collections, concatenated.

func joined() -> FlattenSequence<LazyMapCollection<Base, Element>>

Returns the elements of this sequence of sequences, concatenated.

func joined() -> LazySequence<FlattenSequence<LazyMapCollection<Base, Element>>>

Returns a lazy sequence that concatenates the elements of this sequence of sequences.

func joined<Separator>(separator: Separator) -> JoinedSequence<LazyMapCollection<Base, Element>>

Returns the concatenated elements of this sequence of sequences, inserting the given separator between each element.

func joined(separator: String) -> String

Returns a new string by concatenating the elements of the sequence, adding the given separator between each element.

func joined(separator: String) -> String

Returns a new string by concatenating the elements of the sequence, adding the given separator between each element.

func last(where: (Element) -> Bool) -> Element?

Returns the last element of the sequence that satisfies the given predicate.

func lastIndex(of: Element) -> Base.Index?

Returns the last index where the specified value appears in the collection.

func lastIndex(where: (Element) -> Bool) -> Base.Index?

Returns the index of the last element in the collection that matches the given predicate.

func lexicographicallyPrecedes<OtherSequence>(OtherSequence) -> Bool

Returns a Boolean value indicating whether the sequence precedes another sequence in a lexicographical (dictionary) ordering, using the less-than operator (<) to compare elements.

func lexicographicallyPrecedes<OtherSequence>(OtherSequence, by: (Element, Element) -> Bool) -> Bool

Returns a Boolean value indicating whether the sequence precedes another sequence in a lexicographical (dictionary) ordering, using the given predicate to compare elements.

func makeIterator() -> LazyMapCollection<Base, Element>.Iterator

Returns an iterator over the elements of this sequence.

func map<U>((Element) -> U) -> LazyMapSequence<LazyMapCollection<Base, Element>, U>

Returns a LazyMapSequence over this Sequence. The elements of the result are computed lazily, each time they are read, by calling transform function on a base element.

func map<U>((Element) -> U) -> LazyMapCollection<LazyMapCollection<Base, Element>, U>

Returns a LazyMapCollection over this Collection. The elements of the result are computed lazily, each time they are read, by calling transform function on a base element.

func map<T>((Element) -> T) -> [T]

Returns an array containing the results of mapping the given closure over the sequence’s elements.

func map<T>((Element) -> T) -> [T]

Returns an array containing the results of mapping the given closure over the sequence’s elements.

func max() -> Element?

Returns the maximum element in the sequence.

func max(by: (Element, Element) -> Bool) -> Element?

Returns the maximum element in the sequence, using the given predicate as the comparison between elements.

func min() -> Element?

Returns the minimum element in the sequence.

func min(by: (Element, Element) -> Bool) -> Element?

Returns the minimum element in the sequence, using the given predicate as the comparison between elements.

func popFirst() -> Element?

Removes and returns the first element of the collection.

func popLast() -> Element?

Removes and returns the last element of the collection.

func prefix(Int) -> LazyMapCollection<Base.SubSequence, Element>

Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.

func prefix(through: Base.Index) -> LazyMapCollection<Base.SubSequence, Element>

Returns a subsequence from the start of the collection through the specified position.

func prefix(upTo: Base.Index) -> LazyMapCollection<Base.SubSequence, Element>

Returns a subsequence from the start of the collection up to, but not including, the specified position.

func prefix(while: (Element) -> Bool) -> LazyPrefixWhileCollection<LazyMapCollection<Base, Element>>

Returns a lazy collection of the initial consecutive elements that satisfy predicate.

func randomElement() -> Element?

Returns a random element of the collection.

func randomElement<T>(using: inout T) -> Element?

Returns a random element of the collection, using the given generator as a source for randomness.

func reduce<Result>(Result, (Result, Element) -> Result) -> Result

Returns the result of combining the elements of the sequence using the given closure.

func reduce<Result>(into: Result, (inout Result, Element) -> ()) -> Result

Returns the result of combining the elements of the sequence using the given closure.

func removeFirst() -> Element

Removes and returns the first element of the collection.

func removeFirst(Int)

Removes the specified number of elements from the beginning of the collection.

func removeLast() -> Element

Removes and returns the last element of the collection.

func removeLast(Int)

Removes the given number of elements from the end of the collection.

func reversed() -> [Element]

Returns an array containing the elements of this sequence in reverse order.

func shuffled() -> [Element]

Returns the elements of the sequence, shuffled.

func shuffled<T>(using: inout T) -> [Element]

Returns the elements of the sequence, shuffled using the given generator as a source for randomness.

func sorted() -> [Element]

Returns the elements of the sequence, sorted.

func sorted(by: (Element, Element) -> Bool) -> [Element]

Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.

func split(maxSplits: Int, omittingEmptySubsequences: Bool, whereSeparator: (Element) -> Bool) -> [LazyMapCollection<Base.SubSequence, Element>]

Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.

func split(separator: Element, maxSplits: Int, omittingEmptySubsequences: Bool) -> [LazyMapCollection<Base.SubSequence, Element>]

Returns the longest possible subsequences of the sequence, in order, around elements equal to the given element.

func split(separator: Element, maxSplits: Int, omittingEmptySubsequences: Bool) -> [LazyMapCollection<Base.SubSequence, Element>]

Returns the longest possible subsequences of the collection, in order, around elements equal to the given element.

func starts<PossiblePrefix>(with: PossiblePrefix) -> Bool

Returns a Boolean value indicating whether the initial elements of the sequence are the same as the elements in another sequence.

func starts<PossiblePrefix>(with: PossiblePrefix, by: (Element, PossiblePrefix.Element) -> Bool) -> Bool

Returns a Boolean value indicating whether the initial elements of the sequence are equivalent to the elements in another sequence, using the given predicate as the equivalence test.

func suffix(Int) -> LazyMapCollection<Base.SubSequence, Element>

Returns a subsequence, up to the given maximum length, containing the final elements of the collection.

func suffix(from: Base.Index) -> LazyMapCollection<Base.SubSequence, Element>

Returns a subsequence from the specified position to the end of the collection.

Relationships

Generic Constraints

  • Base : Collection
    

See Also

Lazy Wrappers

struct LazySequence

A sequence containing the same elements as a Base sequence, but on which some operations such as map and filter are implemented lazily.

struct LazyCollection

A collection containing the same elements as a Base collection, but on which some operations such as map and filter are implemented lazily.

struct LazyMapSequence

A Sequence whose elements consist of those in a Base Sequence passed through a transform function returning Element. These elements are computed lazily, each time they’re read, by calling the transform function on a base element.

struct LazyFilterSequence

A sequence whose elements consist of the elements of some base sequence that also satisfy a given predicate.

struct LazyFilterCollection

A lazy Collection wrapper that includes the elements of an underlying collection that satisfy a predicate.

struct LazyPrefixWhileSequence

A sequence whose elements consist of the initial consecutive elements of some base sequence that satisfy a given predicate.

struct LazyPrefixWhileCollection

A lazy ${Collection} wrapper that includes the initial consecutive elements of an underlying collection that satisfy a predicate.

struct LazyDropWhileSequence

A sequence whose elements consist of the elements that follow the initial consecutive elements of some base sequence that satisfy a given predicate.

struct LazyDropWhileCollection

A lazy wrapper that includes the elements of an underlying collection after any initial consecutive elements that satisfy a predicate.