protocol IntegerArithmeticType The common requirements for types that support integer arithmetic. Inheritance Comparable, Equatable, _IntegerArithmeticType View Protocol Hierarchy → Import import Swift 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 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 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 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 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 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 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 func toIntMax() Required Explicitly convert to IntMax, trapping on overflow (except in -Ounchecked builds). Declaration func toIntMax() -> IntMax