Próbkowanie

public struct Sampling<Base: Collection, Selection: Collection>
where Selection.Element == Base.Index
extension Sampling: SamplingProtocol
extension Sampling: Collection
extension Sampling: BidirectionalCollection
  where Selection: BidirectionalCollection
extension Sampling: RandomAccessCollection
  where Selection: RandomAccessCollection

Leniwy dobór elementów, w podanej kolejności, z jakiejś bazowej kolekcji.

  • Tworzy instancję z base i selection .

    Deklaracja

    public init(base: Base, selection: Selection)
  • Deklaracja

    public typealias Element = Base.Element
  • Typ, którego instancje reprezentują pozycje w self .

    Deklaracja

    public typealias Index = Selection.Index
  • Położenie pierwszego elementu.

    Deklaracja

    public var startIndex: Index { get }
  • Pozycja jedna za ostatnim elementem.

    Deklaracja

    public var endIndex: Index { get }
  • Zwraca element w i .

    Deklaracja

    public subscript(i: Index) -> Element { get }
  • Zwraca pozycję po i .

    Deklaracja

    public func index(after i: Index) -> Index
  • Zwraca liczbę kroków do przodu wymaganych do konwersji start na end .

    Wynik ujemny oznacza, że end < start .

    Deklaracja

    public func distance(from start: Index, to end: Index) -> Int
  • Zwraca pozycję n miejsc z i .

    Deklaracja

    public func index(_ i: Index, offsetBy n: Int) -> Index
  • Zwraca i przesunięte o distance , chyba że wymaga to przekroczenia limit , w takim przypadku zwracane jest nil .

    Deklaracja

    public func index(
      _ i: Index, offsetBy distance: Int, limitedBy limit: Index
    ) -> Index?
Dostępne, gdy `Wybór`: `Dwukierunkowa Kolekcja`