نمونه برداری

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

انتخاب تنبلی از عناصر، به ترتیب معین، از برخی از مجموعه های پایه.

  • یک نمونه از base و selection ایجاد می کند.

    اعلام

    public init(base: Base, selection: Selection)
  • اعلام

    public typealias Element = Base.Element
  • نوعی که نمونه‌های آن موقعیت‌هایی را در self نشان می‌دهند.

    اعلام

    public typealias Index = Selection.Index
  • موقعیت عنصر اول.

    اعلام

    public var startIndex: Index { get }
  • موقعیت یک گذشته از آخرین عنصر.

    اعلام

    public var endIndex: Index { get }
  • عنصر را در i برمی گرداند.

    اعلام

    public subscript(i: Index) -> Element { get }
  • موقعیت بعد از i را برمی گرداند.

    اعلام

    public func index(after i: Index) -> Index
  • تعداد گام‌های رو به جلو مورد نیاز برای تبدیل start به end را برمی‌گرداند.

    یک نتیجه منفی نشان می دهد که end < start .

    اعلام

    public func distance(from start: Index, to end: Index) -> Int
  • موقعیت n مکان را از i برمی گرداند.

    اعلام

    public func index(_ i: Index, offsetBy n: Int) -> Index
  • i با distance جبران می کند، مگر اینکه نیاز به عبور از limit داشته باشد، در این صورت nil برگردانده می شود.

    اعلام

    public func index(
      _ i: Index, offsetBy distance: Int, limitedBy limit: Index
    ) -> Index?
در جایی که «انتخاب»: «مجموعه دو جهته» موجود است