Returns the bits of the given instance, interpreted as having the specified
type.
Use this function only to convert the instance passed as x to a
layout-compatible type when conversion through other means is not
possible. Common conversions supported by the Swift standard library
include the following:
Value conversion from one integer type to another. Use the destination
type's initializer or the numericCast(_:) function.
Bitwise conversion from one integer type to another. Use the destination
type's init(truncatingIfNeeded:) or init(bitPattern:) initializer.
Conversion from a pointer to an integer value with the bit pattern of the
pointer's address in memory, or vice versa. Use the init(bitPattern:)
initializer for the destination type.
Casting an instance of a reference type. Use the casting operators (as,
as!, or as?) or the unsafeDowncast(_:to:) function. Do not use
unsafeBitCast(_:to:) with class or pointer types; doing so may
introduce undefined behavior.
Warning: Calling this function breaks the guarantees of the Swift type
system; use with extreme care.
Parameters:x: The instance to cast to type.
type: The type to cast x to. type and the type of x must have the
same size of memory representation and compatible memory layout.
Returns: A new instance of type U, cast from x.
Returns the bits of the given instance, interpreted as having the specified type.
Use this function only to convert the instance passed as
x
to a layout-compatible type when conversion through other means is not possible. Common conversions supported by the Swift standard library include the following:numericCast(_:)
function.init(truncatingIfNeeded:)
orinit(bitPattern:)
initializer.init(bitPattern:)
initializer for the destination type.as
,as!
, oras?
) or theunsafeDowncast(_:to:)
function. Do not useunsafeBitCast(_:to:)
with class or pointer types; doing so may introduce undefined behavior.Warning: Calling this function breaks the guarantees of the Swift type system; use with extreme care.
Parameters: x: The instance to cast to
type
. type: The type to castx
to.type
and the type ofx
must have the same size of memory representation and compatible memory layout. Returns: A new instance of typeU
, cast fromx
.Declaration
func
unsafeBitCast
<
T
,
U
>
(
_
x
:
T
,
to
type
:
U
.
Type
) -
>
U