protocol _RandomAccessIndexType
Inheritance 
Comparable, Equatable, Strideable, _BidirectionalIndexType, _Comparable, _ForwardIndexType, _Incrementable, _Strideable
View Protocol Hierarchy →


Associated Types 
Distance : _SignedIntegerType = Int
A type that can represent the number of steps between pairs of
Reachability is defined by the ability to produce one value from
the other via zero or more applications of _DisabledRangeIndex = _DisabledRangeIndex_
A type that can represent the number of steps between pairs of
Reachability is defined by the ability to produce one value from
the other via zero or more applications of Stride : SignedNumberType
A type that can represent the distance between two values of 
Import  import Swift 
Instance Methods
A strict total order
over instances of Self
Declaration
func <(lhs: Self, rhs: Self) > Bool
Declared In
_Comparable
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 tripleequals ===
is notably not part of an instance's value. Exposing other
nonvalue 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
istrue
x == y
impliesy == x
x == y
andy == z
impliesx == z
Inequality is the inverse of equality, i.e. !(x == y)
iff
x != y
Declaration
func ==(lhs: Self, rhs: Self) > Bool
Declared In
Equatable
Return self
offset by n
steps.
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
.
Complexity: O(1)
Axioms:
x.advancedBy(0) == x
x.advancedBy(1) == x.successor()
x.advancedBy(1) == x.predecessor()
x.distanceTo(x.advancedBy(m)) == m
Declaration
func advancedBy(n: Self.Distance) > Self
Declared In
_RandomAccessIndexType
, _Strideable
Return the minimum number of applications of successor
or
predecessor
required to reach other
from self
.
Complexity: O(1).
Axioms:
x.distanceTo(x.successor())) == 1
x.distanceTo(x.predecessor())) == 1
x.advancedBy(x.distanceTo(y)) == y
Declaration
func distanceTo(other: Self) > Self.Distance
Declared In
_RandomAccessIndexType
, _Strideable
Return the previous consecutive value in a discrete sequence.
If self
has a welldefined successor,
self.successor().predecessor() == self
. If self
has a
welldefined predecessor, self.predecessor().successor() ==
self
.
Requires: self
has a welldefined predecessor.
Declaration
func predecessor() > Self
Declared In
_BidirectionalIndexType
Return the next consecutive value in a discrete sequence of
Self
values
Requires: self
has a welldefined successor.
Declaration
func successor() > Self
Declared In
_Incrementable
This protocol is an implementation detail of
RandomAccessIndexType
; do not use it directly.Its requirements are inherited by
RandomAccessIndexType
and thus must be satisfied by types conforming to that protocol.