_IntegerType

protocol _IntegerType

This protocol is an implementation detail of IntegerType; do not use it directly.

Its requirements are inherited by IntegerType and thus must be satisfied by types conforming to that protocol.

Inheritance BitwiseOperationsType, Comparable, Equatable, Hashable, IntegerArithmeticType, IntegerLiteralConvertible, Printable, _Comparable, _Incrementable, _IntegerArithmeticType View Protocol Hierarchy →
Associated Types
IntegerLiteralType
Import import Swift

Initializers

init(integerLiteral:) Required

Create an instance initialized to value.

Declaration

init(integerLiteral value: IntegerLiteralType)

Declared In

IntegerLiteralConvertible

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

Instance Variables

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
var description: String Required

A textual representation of self.

Declaration

var description: String { get }

Declared In

Printable

Static Methods

static func addWithOverflow(_:_:) Required

Add lhs and rhs, returning a 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

Divide lhs and rhs, returning a 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

Multiply lhs and rhs, returning a 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

Divide 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

Subtract lhs and rhs, returning a 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

Instance Methods

func %(_:rhs:) Required

Divide 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

Multiply lhs and rhs, returning a 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

Add lhs and rhs, returning a 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

Divide lhs and rhs, returning a 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

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 ^(_: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

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

Declaration

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

Declared In

IntegerArithmeticType
func successor() Required

Return 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

func toIntMax() -> IntMax

Declared In

IntegerArithmeticType