LazyMapSequence

A SequenceType whose elements consist of those in a Base SequenceType 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.

Inheritance LazySequenceType, SequenceType View Protocol Hierarchy →
Associated Types

Type alias inferred.

  • Element = Generator.Element

Type alias inferred.

Type alias inferred.

Import
  • import Swift

Initializers

init(_:transform:)

Create an instance with elements transform(x) for each element x of base.

Declaration

  • init(_ base: Base, transform: (Base.Generator.Element) -> Element)

Instance Variables

var lazy: LazyMapSequence<Base, Element>

Identical to self.

Declaration

Declared In

LazySequenceType

1 inherited item hidden. (Show all)

Instance Methods

func contains(_:)

Return true iff an element in self satisfies predicate.

Declaration

  • func contains(@noescape predicate: (Generator.Element) throws -> Bool) rethrows -> Bool

Declared In

SequenceType
func dropFirst()

Returns a subsequence containing all but the first element.

Requires: n >= 0 Complexity: O(n)

Declaration

Declared In

SequenceType
func dropFirst(_:)

Returns a subsequence containing all but the first n elements.

Requires: n >= 0 Complexity: O(n)

Declaration

Declared In

SequenceType
func dropLast()

Returns a subsequence containing all but the last element.

Requires: self is a finite sequence. Requires: n >= 0 Complexity: O(self.count)

Declaration

Declared In

SequenceType
func dropLast(_:)

Returns a subsequence containing all but the last n elements.

Requires: self is a finite collection. Requires: n >= 0 Complexity: O(self.count)

Declaration

Declared In

SequenceType
func elementsEqual(_:isEquivalent:)

Return true iff self and other contain equivalent elements, using isEquivalent as the equivalence test.

Requires: isEquivalent is an equivalence relation.

Declaration

  • func elementsEqual<OtherSequence : SequenceType where OtherSequence.Generator.Element == Generator.Element>(other: OtherSequence, @noescape isEquivalent: (Generator.Element, Generator.Element) throws -> Bool) rethrows -> Bool

Declared In

SequenceType
func enumerate()

Return a lazy SequenceType containing pairs (n, x), where ns are consecutive Ints starting at zero, and xs are the elements of base:

  • for (n, c) in "Swift".characters.enumerate() {
  •     print("\(n): '\(c)'")
  •   }
  • 0: 'S'
  • 1: 'w'
  • 2: 'i'
  • 3: 'f'
  • 4: 't'

Declaration

Declared In

SequenceType
func filter(_:)

Return the elements of self that satisfy predicate.

Note: The elements of the result are computed on-demand, as the result is used. No buffering storage is allocated and each traversal step invokes predicate on one or more underlying elements.

Declaration

  • func filter(predicate: (Generator.Elements.Generator.Element) -> Bool) -> LazyFilterSequence<Generator.Elements>

Declared In

LazySequenceType, SequenceType
func flatMap<T>(_: (Generator.Element) throws -> T?)

Return an Array containing the non-nil results of mapping transform over self.

Complexity: O(M + N), where M is the length of self and N is the length of the result.

Declaration

  • func flatMap<T>(@noescape transform: (Generator.Element) throws -> T?) rethrows -> [T]

Declared In

SequenceType
func flatMap<S : SequenceType>(_: (Generator.Element) throws -> S)

Return an Array containing the concatenated results of mapping transform over self.

  • s.flatMap(transform)

is equivalent to

  • Array(s.map(transform).flatten())

Complexity: O(M + N), where M is the length of self and N is the length of the result.

Declaration

  • func flatMap<S : SequenceType>(transform: (Generator.Element) throws -> S) rethrows -> [S.Generator.Element]

Declared In

SequenceType
func flatMap(_:)

Returns the concatenated results of mapping transform over self. Equivalent to

  • self.map(transform).flatten()

Complexity: O(1)

Declaration

Declared In

LazySequenceType
func forEach(_:)

Call body on each element in self in the same order as a for-in loop.

  • sequence.forEach {
  •   // body code
  • }

is similar to:

  • for element in sequence {
  •   // body code
  • }

Note: You cannot use the break or continue statement to exit the current call of the body closure or skip subsequent calls. Note: Using the return statement in the body closure will only exit from the current call to body, not any outer scope, and won't skip subsequent calls.

Complexity: O(self.count)

Declaration

  • func forEach(@noescape body: (Generator.Element) throws -> ()) rethrows

Declared In

SequenceType
func generate()

Return a generator over the elements of this sequence.

Complexity: O(1).

Declaration

func lexicographicalCompare(_:isOrderedBefore:)

Return true iff self precedes other in a lexicographical ("dictionary") ordering, using isOrderedBefore as the comparison between elements.

Note: This method implements the mathematical notion of lexicographical ordering, which has no connection to Unicode. If you are sorting strings to present to the end-user, you should use String APIs that perform localized comparison.

Requires: isOrderedBefore is a strict weak ordering over the elements of self and other.

Declaration

  • func lexicographicalCompare<OtherSequence : SequenceType where OtherSequence.Generator.Element == Generator.Element>(other: OtherSequence, @noescape isOrderedBefore: (Generator.Element, Generator.Element) throws -> Bool) rethrows -> Bool

Declared In

SequenceType
func map(_:)

Return 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.

Declaration

  • func map<U>(transform: (Generator.Elements.Generator.Element) -> U) -> LazyMapSequence<Generator.Elements, U>

Declared In

LazySequenceType, SequenceType
func maxElement(_:)

Returns the maximum element in self or nil if the sequence is empty.

Complexity: O(elements.count).

Requires: isOrderedBefore is a strict weak ordering. over self.

Declaration

  • func maxElement(@noescape isOrderedBefore: (Generator.Element, Generator.Element) throws -> Bool) rethrows -> Generator.Element?

Declared In

SequenceType
func minElement(_:)

Returns the minimum element in self or nil if the sequence is empty.

Complexity: O(elements.count).

Requires: isOrderedBefore is a strict weak ordering. over self.

Declaration

  • func minElement(@noescape isOrderedBefore: (Generator.Element, Generator.Element) throws -> Bool) rethrows -> Generator.Element?

Declared In

SequenceType
func prefix(_:)

Returns a subsequence, up to maxLength in length, containing the initial elements.

If maxLength exceeds self.count, the result contains all the elements of self.

Requires: maxLength >= 0

Declaration

Declared In

SequenceType
func reduce(_:combine:)

Return the result of repeatedly calling combine with an accumulated value initialized to initial and each element of self, in turn, i.e. return combine(combine(...combine(combine(initial, self[0]), self[1]),...self[count-2]), self[count-1]).

Declaration

  • func reduce<T>(initial: T, @noescape combine: (T, Generator.Element) throws -> T) rethrows -> T

Declared In

SequenceType
func reverse()

Return an Array containing the elements of self in reverse order.

Complexity: O(N), where N is the length of self.

Declaration

  • func reverse() -> [Generator.Element]

Declared In

SequenceType
func sort(_:)

Return an Array containing the sorted elements of source according to isOrderedBefore.

The sorting algorithm is not stable (can change the relative order of elements for which isOrderedBefore does not establish an order).

Requires: isOrderedBefore is a strict weak ordering over the elements in self.

Declaration

  • func sort(@noescape isOrderedBefore: (Generator.Element, Generator.Element) -> Bool) -> [Generator.Element]

Declared In

SequenceType
func split(_:allowEmptySlices:isSeparator:)

Returns the maximal SubSequences of self, in order, that don't contain elements satisfying the predicate isSeparator.

maxSplit: The maximum number of SubSequences to return, minus 1. If maxSplit + 1 SubSequences are returned, the last one is a suffix of self containing the remaining elements. The default value is Int.max.

allowEmptySubsequences: If true, an empty SubSequence is produced in the result for each pair of consecutive elements satisfying isSeparator. The default value is false.

Requires: maxSplit >= 0

Declaration

  • func split(maxSplit: Int = default, allowEmptySlices: Bool = default, @noescape isSeparator: (Generator.Element) throws -> Bool) rethrows -> [AnySequence<Generator.Element>]

Declared In

SequenceType
func startsWith(_:isEquivalent:)

Return true iff self begins with elements equivalent to those of other, using isEquivalent as the equivalence test. Return true if other is empty.

Requires: isEquivalent is an equivalence relation.

Declaration

  • func startsWith<OtherSequence : SequenceType where OtherSequence.Generator.Element == Generator.Element>(other: OtherSequence, @noescape isEquivalent: (Generator.Element, Generator.Element) throws -> Bool) rethrows -> Bool

Declared In

SequenceType
func suffix(_:)

Returns a slice, up to maxLength in length, containing the final elements of s.

If maxLength exceeds s.count, the result contains all the elements of s.

Requires: self is a finite sequence. Requires: maxLength >= 0

Declaration

Declared In

SequenceType
func underestimateCount()

Return a value less than or equal to the number of elements in self, nondestructively.

Complexity: O(N).

Declaration

  • func underestimateCount() -> Int

Declared In

LazyMapSequence, SequenceType

23 inherited items hidden. (Show all)

Conditionally Inherited Items

The initializers, methods, and properties listed below may be available on this type under certain conditions (such as methods that are available on Array when its elements are Equatable) or may not ever be available if that determination is beyond SwiftDoc.org's capabilities. Please open an issue on GitHub if you see something out of place!

Where Elements == Self

var elements: LazyMapSequence<Base, Element>

Identical to self.

Declaration

Declared In

LazySequenceType

1 inherited item hidden. (Show all)

Where Elements.Generator.Element == Generator.Element, Generator.Element : SequenceType

func flatten()

A concatenation of the elements of self.

Declaration

Declared In

LazySequenceType

1 inherited item hidden. (Show all)

Where Generator.Element : Comparable

func lexicographicalCompare(_:)

Return true iff self precedes other in a lexicographical ("dictionary") ordering, using "<" as the comparison between elements.

Note: This method implements the mathematical notion of lexicographical ordering, which has no connection to Unicode. If you are sorting strings to present to the end-user, you should use String APIs that perform localized comparison.

Declaration

  • func lexicographicalCompare<OtherSequence : SequenceType where OtherSequence.Generator.Element == Generator.Element>(other: OtherSequence) -> Bool

Declared In

SequenceType
func maxElement()

Returns the maximum element in self or nil if the sequence is empty.

Complexity: O(elements.count).

Declaration

  • func maxElement() -> Generator.Element?

Declared In

SequenceType
func minElement()

Returns the minimum element in self or nil if the sequence is empty.

Complexity: O(elements.count).

Declaration

  • func minElement() -> Generator.Element?

Declared In

SequenceType
func sort()

Return an Array containing the sorted elements of source.

The sorting algorithm is not stable (can change the relative order of elements that compare equal).

Requires: The less-than operator (func <) defined in the Comparable conformance is a strict weak ordering over the elements in self.

Declaration

  • func sort() -> [Generator.Element]

Declared In

SequenceType

4 inherited items hidden. (Show all)

Where Generator.Element : Equatable

func contains(_:)

Return true iff element is in self.

Declaration

  • func contains(element: Generator.Element) -> Bool

Declared In

SequenceType
func elementsEqual(_:)

Return true iff self and other contain the same elements in the same order.

Declaration

  • func elementsEqual<OtherSequence : SequenceType where OtherSequence.Generator.Element == Generator.Element>(other: OtherSequence) -> Bool

Declared In

SequenceType
func split(_:maxSplit:allowEmptySlices:)

Returns the maximal SubSequences of self, in order, around elements equatable to separator.

maxSplit: The maximum number of SubSequences to return, minus 1. If maxSplit + 1 SubSequences are returned, the last one is a suffix of self containing the remaining elements. The default value is Int.max.

allowEmptySubsequences: If true, an empty SubSequence is produced in the result for each pair of consecutive elements satisfying isSeparator. The default value is false.

Requires: maxSplit >= 0

Declaration

  • func split(separator: Generator.Element, maxSplit: Int = default, allowEmptySlices: Bool = default) -> [AnySequence<Generator.Element>]

Declared In

SequenceType
func startsWith(_:)

Return true iff the the initial elements of self are equal to prefix. Return true if other is empty.

Declaration

  • func startsWith<OtherSequence : SequenceType where OtherSequence.Generator.Element == Generator.Element>(other: OtherSequence) -> Bool

Declared In

SequenceType

4 inherited items hidden. (Show all)

Where Generator.Element : SequenceType

func flatten()

A concatenation of the elements of self.

Declaration

Declared In

SequenceType
func joinWithSeparator(_:)

Returns a view, whose elements are the result of interposing a given separator between the elements of the sequence self.

For example, [[1, 2, 3], [4, 5, 6], [7, 8, 9]].joinWithSeparator([-1, -2]) yields [1, 2, 3, -1, -2, 4, 5, 6, -1, -2, 7, 8, 9].

Declaration

Declared In

SequenceType

2 inherited items hidden. (Show all)

Where Generator.Element == String

func joinWithSeparator(_:)

Interpose the separator between elements of self, then concatenate the result. For example:

  • ["foo", "bar", "baz"].joinWithSeparator("-|-") // "foo-|-bar-|-baz"

Declaration

Declared In

SequenceType

1 inherited item hidden. (Show all)