AnyForwardIndex

struct AnyForwardIndex

A wrapper over an underlying ForwardIndexType that hides the specific underlying type.

See Also: AnyForwardCollection

Inheritance Equatable, ForwardIndexType, _Incrementable View Protocol Hierarchy →
Associated Types
Distance = IntMax
Import import Swift

Initializers

init(_:)

Wrap and forward operations to base.

Declaration

init<BaseIndex : ForwardIndexType>(_ base: BaseIndex)

Instance Methods

func advancedBy(_:)

Return the result of advancing self by n positions.

Returns: - If n > 0, the result of applying successor to self n times. - If n < 0, the result of applying predecessor to self -n times. - Otherwise, self.

Requires: n >= 0 if only conforming to ForwardIndexType Complexity: - O(1) if conforming to RandomAccessIndexType - O(abs(n)) otherwise

Declaration

func advancedBy(n: AnyForwardIndex.Distance) -> AnyForwardIndex

Declared In

ForwardIndexType
func advancedBy(_:limit:)

Return the result of advancing self by n positions, or until it equals limit.

Returns: - If n > 0, the result of applying successor to self n times but not past limit. - If n < 0, the result of applying predecessor to self -n times but not past limit. - Otherwise, self.

Requires: n >= 0 if only conforming to ForwardIndexType.

Complexity: - O(1) if conforming to RandomAccessIndexType - O(abs(n)) otherwise

Declaration

func advancedBy(n: AnyForwardIndex.Distance, limit: AnyForwardIndex) -> AnyForwardIndex

Declared In

ForwardIndexType
func distanceTo(_:)

Measure the distance between self and end.

Requires: - start and end are part of the same sequence when conforming to RandomAccessSequenceType. - end is reachable from self by incrementation otherwise.

Complexity: - O(1) if conforming to RandomAccessIndexType - O(n) otherwise, where n is the function's result.

Declaration

func distanceTo(end: AnyForwardIndex) -> AnyForwardIndex.Distance

Declared In

ForwardIndexType
func successor()

Return the next consecutive value in a discrete sequence of AnyForwardIndex values.

Requires: self has a well-defined successor.

Declaration

func successor() -> AnyForwardIndex