Initializer

init(rebasing:)

Creates a raw buffer over the same memory as the given raw buffer slice, with the indices rebased to zero. 与えられた生のバッファスライスと同じメモリのすべてを覆う生のバッファを作成します、ゼロに再配置されたインデックスを持ちます。

Declaration 宣言

init(rebasing slice: Slice<UnsafeMutableRawBufferPointer>)

Parameters パラメータ

slice

The raw buffer slice to rebase. 再構築される生のバッファスライス。

Discussion 解説

The new buffer represents the same region of memory as the slice, but its indices start at zero instead of at the beginning of the slice in the original buffer. The following code creates slice, a slice covering part of an existing buffer instance, then rebases it into a new rebased buffer. 新しいバッファは、このスライスと同じメモリ領域を表します、しかしそれのインデックスはゼロで開始します、元のバッファ中のスライスの始まりでというわけでなく。以下のコードはslice、既存のバッファインスタンスの一部をカバーするスライス、を作成します、それからそれを新しい生のrebasedバッファへと再構築します。


let slice = buffer[n...]
let rebased = UnsafeRawBufferPointer(rebasing: slice)

After this code has executed, the following are true: このコードが実行された後、以下は真です:

  • rebased.startIndex == 0

  • rebased[0] == slice[n]

  • rebased[0] == buffer[n]

  • rebased.count == slice.count