withUnsafeMutableBytes(of:_:)
Invokes the given closure with a mutable buffer pointer covering the raw bytes of the given argument.
func withUnsafeMutableBytes<T, Result>(of value: inout T, _ body: (UnsafeMutableRawBufferPointer) throws -> Result) rethrows -> Result
Parameters
- value
An instance to temporarily access through a mutable raw buffer pointer. Note that the
inout
exclusivity rules mean that, like any otherinout
argument,value
cannot be directly accessed by other code for the duration ofbody
. Access must only occur through the pointer argument tobody
untilbody
returns.- body
A closure that takes a raw buffer pointer to the bytes of
value
as its sole argument. If the closure has a return value, that value is also used as the return value of thewithUnsafeMutableBytes(of:_:)
function. The buffer pointer argument is valid only for the duration of the closure’s execution.
Returns
The return value, if any, of the body
closure.
Overview
The buffer pointer argument to the body
closure provides a collection interface to the raw bytes of value
. The buffer is the size of the instance passed as value
and does not include any remote storage.