UnsignedIntegerType

A set of common requirements for Swift's unsigned integer types.

Inheritance BidirectionalIndexType, BitwiseOperationsType, Comparable, CustomStringConvertible, Equatable, ForwardIndexType, Hashable, IntegerArithmeticType, IntegerLiteralConvertible, IntegerType, RandomAccessIndexType, Strideable, _DisallowMixedSignArithmetic, _Incrementable, _IntegerArithmeticType, _IntegerType, _RandomAccessAmbiguity View Protocol Hierarchy →
Associated Types

A type that can represent the number of steps between pairs of Self values where one value is reachable from the other.

Reachability is defined by the ability to produce one value from the other via zero or more applications of successor.

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

3 inherited items hidden. (Show all)

Import
  • import Swift

Initializers

init(_:) Required

Convert from Swift's widest unsigned integer type, trapping on overflow.

Declaration

init(integerLiteral:) Required

Create an instance initialized to value.

Declaration

Declared In

IntegerLiteralConvertible

1 inherited item hidden. (Show all)

Static Variables

static var allZeros: Self Required

The empty bitset.

Also the identity element for | and ^, and the fixed point for &.

Declaration

  • static var allZeros: Self { get }

Declared In

BitwiseOperationsType

1 inherited item hidden. (Show all)

Instance Variables

var description: String Required

A textual representation of self.

Declaration

  • var description: String { get }

Declared In

CustomStringConvertible
var hashValue: Int Required

The hash value.

Axiom: x == y implies x.hashValue == y.hashValue.

Note: The hash value is not guaranteed to be stable across different invocations of the same program. Do not persist the hash value across program runs.

Declaration

  • var hashValue: Int { get }

Declared In

Hashable

2 inherited items hidden. (Show all)

Static Methods

static func addWithOverflow(_:_:) Required

Adds lhs and rhs, returning the result and a Bool that is true iff the operation caused an arithmetic overflow.

Declaration

  • static func addWithOverflow(lhs: Self, _ rhs: Self) -> (Self, overflow: Bool)

Declared In

_IntegerArithmeticType
static func divideWithOverflow(_:_:) Required

Divides lhs and rhs, returning the result and a Bool that is true iff the operation caused an arithmetic overflow.

Declaration

  • static func divideWithOverflow(lhs: Self, _ rhs: Self) -> (Self, overflow: Bool)

Declared In

_IntegerArithmeticType
static func multiplyWithOverflow(_:_:) Required

Multiplies lhs and rhs, returning the result and a Bool that is true iff the operation caused an arithmetic overflow.

Declaration

  • static func multiplyWithOverflow(lhs: Self, _ rhs: Self) -> (Self, overflow: Bool)

Declared In

_IntegerArithmeticType
static func remainderWithOverflow(_:_:) Required

Divides lhs and rhs, returning the remainder and a Bool that is true iff the operation caused an arithmetic overflow.

Declaration

  • static func remainderWithOverflow(lhs: Self, _ rhs: Self) -> (Self, overflow: Bool)

Declared In

_IntegerArithmeticType
static func subtractWithOverflow(_:_:) Required

Subtracts lhs and rhs, returning the result and a Bool that is true iff the operation caused an arithmetic overflow.

Declaration

  • static func subtractWithOverflow(lhs: Self, _ rhs: Self) -> (Self, overflow: Bool)

Declared In

_IntegerArithmeticType

5 inherited items hidden. (Show all)

Instance Methods

func %(_:rhs:) Required

Divides lhs and rhs, returning the remainder and trapping in case of arithmetic overflow (except in -Ounchecked builds).

Declaration

  • func %(lhs: Self, rhs: Self) -> Self

Declared In

IntegerArithmeticType
func &(_:rhs:) Required

Returns the intersection of bits set in lhs and rhs.

Complexity: O(1).

Declaration

  • func &(lhs: Self, rhs: Self) -> Self

Declared In

BitwiseOperationsType
func *(_:rhs:) Required

Multiplies lhs and rhs, returning the result and trapping in case of arithmetic overflow (except in -Ounchecked builds).

Declaration

  • func *(lhs: Self, rhs: Self) -> Self

Declared In

IntegerArithmeticType
func +(_:rhs:) Required

Adds lhs and rhs, returning the result and trapping in case of arithmetic overflow (except in -Ounchecked builds).

Declaration

  • func +(lhs: Self, rhs: Self) -> Self

Declared In

IntegerArithmeticType
func /(_:rhs:) Required

Divides lhs and rhs, returning the result and trapping in case of arithmetic overflow (except in -Ounchecked builds).

Declaration

  • func /(lhs: Self, rhs: Self) -> Self

Declared In

IntegerArithmeticType
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

Returns 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 ^(_:rhs:) Required

Returns the bits that are set in exactly one of lhs and rhs.

Complexity: O(1).

Declaration

  • func ^(lhs: Self, rhs: Self) -> Self

Declared In

BitwiseOperationsType
func |(_:rhs:) Required

Returns the union of bits set in lhs and rhs.

Complexity: O(1).

Declaration

  • func |(lhs: Self, rhs: Self) -> Self

Declared In

BitwiseOperationsType
prefix func ~(_:) Required

Returns x ^ ~Self.allZeros.

Complexity: O(1).

Declaration

  • prefix func ~(x: Self) -> Self

Declared In

BitwiseOperationsType
func -(_:rhs:) Required

Subtracts lhs and rhs, returning the result and trapping in case of arithmetic overflow (except in -Ounchecked builds).

Declaration

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

Declared In

IntegerArithmeticType
func advancedBy(_:)

Returns 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: Self.Distance) -> Self

Declared In

ForwardIndexType, RandomAccessIndexType, Strideable
func advancedBy(_:limit:)

Returns 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: Self.Distance, limit: Self) -> Self

Declared In

ForwardIndexType, RandomAccessIndexType
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: Self) -> Self.Distance

Declared In

ForwardIndexType, RandomAccessIndexType, Strideable
func predecessor() Required

Returns the previous consecutive value in a discrete sequence.

If self has a well-defined successor, self.successor().predecessor() == self. If self has a well-defined predecessor, self.predecessor().successor() == self.

Requires: self has a well-defined predecessor.

Declaration

  • func predecessor() -> Self

Declared In

BidirectionalIndexType
func successor() Required

Returns the next consecutive value in a discrete sequence of Self values.

Requires: self has a well-defined successor.

Declaration

  • func successor() -> Self

Declared In

_Incrementable
func toIntMax() Required

Explicitly convert to IntMax, trapping on overflow (except in -Ounchecked builds).

Declaration

Declared In

IntegerArithmeticType
func toUIntMax() Required

Represent this number using Swift's widest native unsigned integer type.

Declaration

20 inherited items hidden. (Show all)

Default Implementations

func advancedBy(_:)

Returns 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: Self.Distance) -> Self

Declared In

IntegerType, RandomAccessIndexType, BidirectionalIndexType, _RandomAccessAmbiguity, ForwardIndexType
func advancedBy(_:limit:)

Returns 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: Self.Distance, limit: Self) -> Self

Declared In

IntegerType, RandomAccessIndexType, BidirectionalIndexType, 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: Self) -> Self.Distance

Declared In

IntegerType, RandomAccessIndexType, BidirectionalIndexType, ForwardIndexType
func stride(through:by:)

Returns the sequence of values (self, self + stride, self + 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>

Declared In

IntegerType, RandomAccessIndexType, Strideable
func stride(to:by:)

Returns 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>

Declared In

IntegerType, RandomAccessIndexType, Strideable

5 inherited items hidden. (Show all)