Strideable

protocol Strideable

Conforming types are notionally continuous, one-dimensional values that can be offset and measured.

Inheritance Comparable, Equatable, _Strideable View Protocol Hierarchy →
Associated Types
Stride : SignedNumberType

A type that can represent the distance between two values of Self.

Import import Swift

Instance Methods

func <(_:rhs:) Required

A strict total order over instances of Self.

Declaration

func <(lhs: Self, rhs: Self) -> Bool

Declared In

Comparable
func <=(_:rhs:)

Declaration

func <=(lhs: Self, rhs: Self) -> Bool

Declared In

Comparable
func ==(_:rhs:) Required

Return true if lhs is equal to rhs.

Equality implies substitutability. When x == y, x and y are interchangeable in any code that only depends on their values.

Class instance identity as distinguished by triple-equals === is notably not part of an instance's value. Exposing other non-value aspects of Equatable types is discouraged, and any that are exposed should be explicitly pointed out in documentation.

Equality is an equivalence relation

  • x == x is true
  • x == y implies y == x
  • x == y and y == z implies x == z

Inequality is the inverse of equality, i.e. !(x == y) iff x != y.

Declaration

func ==(lhs: Self, rhs: Self) -> Bool

Declared In

Equatable
func >(_:rhs:)

Declaration

func >(lhs: Self, rhs: Self) -> Bool

Declared In

Comparable
func >=(_:rhs:)

Declaration

func >=(lhs: Self, rhs: Self) -> Bool

Declared In

Comparable
func advancedBy(_:) Required

Returns a Self x such that self.distanceTo(x) approximates n.

Complexity: O(1).

See Also: RandomAccessIndexType's advancedBy, which provides a stronger semantic guarantee.

Declaration

func advancedBy(n: Self.Stride) -> Self

Declared In

Strideable, _Strideable
func distanceTo(_:) Required

Returns a stride x such that self.advancedBy(x) approximates other.

Complexity: O(1).

See Also: RandomAccessIndexType's distanceTo, which provides a stronger semantic guarantee.

Declaration

func distanceTo(other: Self) -> Self.Stride

Declared In

Strideable, _Strideable

Default Implementations

func stride(through:by:)

Return the sequence of values (start, start + stride, start + stride + stride, ... last) where last is the last value in the progression less than or equal to end.

Note: There is no guarantee that end is an element of the sequence.

Declaration

func stride(through end: Self, by stride: Self.Stride) -> StrideThrough<Self>
func stride(to:by:)

Return the sequence of values (self, self + stride, self + stride + stride, ... last) where last is the last value in the progression that is less than end.

Declaration

func stride(to end: Self, by stride: Self.Stride) -> StrideTo<Self>