protocol _DisallowMixedSignArithmetic| Inheritance |
BitwiseOperationsType, Comparable, CustomStringConvertible, Equatable, Hashable, IntegerArithmeticType, IntegerLiteralConvertible, _Incrementable, _IntegerArithmeticType, _IntegerType
View Protocol Hierarchy →
|
|---|---|
| Associated Types | |
| Import | import Swift |
Initializers
Create an instance initialized to value.
Declaration
init(integerLiteral value: Self.IntegerLiteralType)
Declared In
IntegerLiteralConvertible
Static Variables
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
A textual representation of self.
Declaration
var description: String { get }
Declared In
CustomStringConvertible
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
Static Methods
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
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
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
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
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
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
Returns the intersection of bits set in lhs and rhs.
Complexity: O(1).
Declaration
func &(lhs: Self, rhs: Self) -> Self
Declared In
BitwiseOperationsType
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
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
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
A strict total order
over instances of Self.
Declaration
func <(lhs: Self, rhs: Self) -> Bool
Declared In
Comparable
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 == xistruex == yimpliesy == xx == yandy == zimpliesx == z
Inequality is the inverse of equality, i.e. !(x == y) iff
x != y.
Declaration
func ==(lhs: Self, rhs: Self) -> Bool
Declared In
Equatable
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
Returns the union of bits set in lhs and rhs.
Complexity: O(1).
Declaration
func |(lhs: Self, rhs: Self) -> Self
Declared In
BitwiseOperationsType
Returns x ^ ~Self.allZeros.
Complexity: O(1).
Declaration
prefix func ~(x: Self) -> Self
Declared In
BitwiseOperationsType
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
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
Explicitly convert to IntMax, trapping on overflow (except in
-Ounchecked builds).
Declaration
func toIntMax() -> IntMax
Declared In
IntegerArithmeticType
This protocol is an implementation detail of
UnsignedIntegerType; do not use it directly.