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

withUTF8(_:)

Runs body over the content of this substring in contiguous memory. If this substring is not contiguous, this will first make it contiguous, which will also speed up subsequent access. If this mutates the substring, it will invalidate any pre-existing indices. bodyを、隣接メモリの中のこの下位文字列の内容に対して実行します。この下位文字列が隣接しないならば、これは最初にそれを隣接させます、それはまた後に続くアクセスの速度を上げるでしょう。これが下位文字列を変化させるならば、それはあらゆる前から存在するインデックスを無効にするでしょう。

Declaration 宣言

mutating func withUTF8<R>(_ body: (UnsafeBufferPointer<UInt8>) throws -> R) rethrows -> R

Discussion 解説

Note that it is unsafe to escape the pointer provided to body. For example, strings of up to 15 UTF-8 code units in length may be represented in a small-string representation, and thus will be spilled into temporary stack space which is invalid after withUTF8 finishes execution. bodyに提供されたポインタをエスケープすることは安全でないことに注意してください。例えば、長さで15 UTF-8コード単位までの文字列は、ある小さな文字列表現で表されるかもしれません、そしてそれゆえ一時スタック空間へとこぼされるでしょう、それはwithUTF8が遂行を終了する後に無効にされます。

Complexity: O(n) if non-contiguous, O(1) if already contiguous 計算量:O(n)、もし非隣接ならば、O(1)、もしすでに隣接ならば。