<!--
{
  "documentType" : "article",
  "framework" : "Swift",
  "identifier" : "/documentation/Swift/LazyDropWhileSequence/LazySequenceProtocol-Implementations",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "LazySequenceProtocol Implementations"
}
-->

# LazySequenceProtocol Implementations

## Topics

### Instance Properties

[`var elements: Self`](/documentation/Swift/LazyDropWhileSequence/elements-swift.property)

Identical to `self`.

[`var lazy: Self.Elements`](/documentation/Swift/LazyDropWhileSequence/lazy)

### Instance Methods

[`func compactMap<ElementOfResult>((Self.Elements.Element) -> ElementOfResult?) -> LazyMapSequence<LazyFilterSequence<LazyMapSequence<Self.Elements, ElementOfResult?>>, ElementOfResult>`](/documentation/Swift/LazyDropWhileSequence/compactMap(_:)-9ksui)

Returns the non-`nil` results of mapping the given transformation over
this sequence.

[`func drop(while: (Self.Elements.Element) -> Bool) -> LazyDropWhileSequence<Self.Elements>`](/documentation/Swift/LazyDropWhileSequence/drop(while:))

Returns a lazy sequence that skips any initial elements that satisfy
`predicate`.

[`func filter((Self.Elements.Element) -> Bool) -> LazyFilterSequence<Self.Elements>`](/documentation/Swift/LazyDropWhileSequence/filter(_:))

Returns the elements of `self` that satisfy `isIncluded`.

[`func flatMap<SegmentOfResult>((Self.Elements.Element) -> SegmentOfResult) -> LazySequence<FlattenSequence<LazyMapSequence<Self.Elements, SegmentOfResult>>>`](/documentation/Swift/LazyDropWhileSequence/flatMap(_:)-6szox)

Returns the concatenated results of mapping the given transformation over
this sequence.

[`func flatMap<ElementOfResult>((Self.Elements.Element) -> ElementOfResult?) -> LazyMapSequence<LazyFilterSequence<LazyMapSequence<Self.Elements, ElementOfResult?>>, ElementOfResult>`](/documentation/Swift/LazyDropWhileSequence/flatMap(_:)-726ic)

Returns the non-`nil` results of mapping the given transformation over
this sequence.

[`func joined() -> LazySequence<FlattenSequence<Self.Elements>>`](/documentation/Swift/LazyDropWhileSequence/joined()-3lx90)

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

[`func map<U>((Self.Element) -> U) -> LazyMapSequence<Self.Elements, U>`](/documentation/Swift/LazyDropWhileSequence/map(_:)-3n26j)

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 prefix(while: (Self.Elements.Element) -> Bool) -> LazyPrefixWhileSequence<Self.Elements>`](/documentation/Swift/LazyDropWhileSequence/prefix(while:))

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

### Type Aliases

[`typealias Elements`](/documentation/Swift/LazyDropWhileSequence/Elements)

A `Sequence` that can contain the same elements as this one,
possibly with a simpler type.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)