Generic Instance Method 総称体インスタンスメソッド

storeBytes(of:toByteOffset:as:)

Stores a value’s bytes into the buffer pointer’s raw memory at the specified byte offset. 値のもつバイトをバッファポインタのもつ生のメモリに指定されたバイトオフセットで格納します。

Declaration 宣言

func storeBytes<T>(of value: T, toByteOffset offset: Int = 0, as: T.Type)

Parameters パラメータ

offset

The offset in bytes into the buffer pointer’s memory to begin reading data for the new instance. The buffer pointer plus offset must be properly aligned for accessing an instance of type T. The default is zero. 新しいインスタンスのためにデータの読み出しを開始するための、バッファポインタのもつメモリに対するバイトでのオフセット。offsetを加えたバッファポインタは、型Tのインスタンスにアクセスするために適切にアラインされる必要があります。初期状態はゼロです。

type

The type to use for the newly constructed instance. The memory must be initialized to a value of a type that is layout compatible with type. 新規に構築されるインスタンスのために使うことになる型。メモリは、typeとレイアウト互換である型の値に初期化されなければなりません。

Discussion 解説

The type T to be stored must be a trivial type. The memory must also be uninitialized, initialized to T, or initialized to another trivial type that is layout compatible with T. 格納されることになる型Tは、自明型でなければなりません。メモリはまた、未初期化状態にされる、Tに初期化される、または別の自明型でTとレイアウト互換なものに初期化される必要があります。

The memory written to must not extend beyond the buffer pointer’s memory region—that is, offset + MemoryLayout<T>.size must be less than or equal to the buffer pointer’s count. 書き込まれることになるメモリは、バッファポインタのもつメモリ領域を越えて拡張されてはなりません — すなわち、offset + MemoryLayout<T>.sizeはバッファポインタのもつcountより少ないか等しくなければなりません。

After calling storeBytes(of:toByteOffset:as:), the memory is initialized to the raw bytes of value. If the memory is bound to a type U that is layout compatible with T, then it contains a value of type U. Calling storeBytes(of:toByteOffset:as:) does not change the bound type of the memory. storeBytes(of:toByteOffset:as:)を呼び出した後、メモリはvalueの生のバイトに初期化されます。メモリが型UTとレイアウト互換であるものに束縛されるならば、そのときそれは型Uの値を含みます。storeBytes(of:toByteOffset:as:)を呼び出すことは、そのメモリの束縛される型を変更しません。