A mutable nonowning collection interface to the bytes in a region of memory.
メモリのいち領域中のバイトに対する可変の非所有コレクションインターフェイス。
Availability
iOS 8.0+
iPadOS 8.0+
macOS 10.10+
Mac Catalyst 13.0+
tvOS 9.0+
watchOS 2.0+
Xcode 8.0+
Technology
Swift Standard Library
Swift標準ライブラリ
Declaration
宣言
@frozenstructUnsafeMutableRawBufferPointer
Overview
概要
You can use an UnsafeMutableRawBufferPointer instance in low-level operations to eliminate uniqueness checks and release mode bounds checks. Bounds checks are always performed in debug mode.
あなたは、UnsafeMutableRawBufferPointerインスタンスを低水準演算において使用することで、固有性検査とリリースモード境界検査を省くことができます。境界検査は、デバッグモードにおいて常に実行されます。
An UnsafeMutableRawBufferPointer instance is a view of the raw bytes in a region of memory. Each byte in memory is viewed as a UInt8 value independent of the type of values held in that memory. Reading from and writing to memory through a raw buffer are untyped operations. Accessing this collection’s bytes does not bind the underlying memory to UInt8.UnsafeMutableRawBufferPointerインスタンスは、メモリのある領域の中の生のバイトのある見方(ビュー)です。メモリ中の各バイトは、そのメモリ中に保持される値の型に影響を受けないUInt8値として眺められます。ある生のバッファを通してメモリから読み込むそしてそれへ書き込むことは、型無し演算です。このコレクションのもつバイトにアクセスすることは、基礎をなすメモリをUInt8へとバインドしません。
In addition to its collection interface, an UnsafeMutableRawBufferPointer instance also supports the following methods provided by UnsafeMutableRawPointer, including bounds checks in debug mode:
それのコレクションインターフェイスに加えて、UnsafeMutableRawBufferPointerインスタンスはまた、UnsafeMutableRawPointerによって提供される以下のメソッドをサポートし、デバッグモードにおける境界検査を含んでいます。
load(fromByteOffset:as:)
storeBytes(of:toByteOffset:as:)
copyMemory(from:)
To access the underlying memory through typed operations, the memory must be bound to a trivial type.
型付演算を通して基礎をなすメモリにアクセスするには、メモリは自明型に束縛されなければなりません。
An UnsafeMutableRawBufferPointer instance is a view into memory and does not own the memory that it references. Copying a variable or constant of type UnsafeMutableRawBufferPointer does not copy the underlying memory. However, initializing another collection with an UnsafeMutableRawBufferPointer instance copies bytes out of the referenced memory and into the new collection.UnsafeMutableRawBufferPointerインスタンスは、メモリに対するある見方(ビュー)であり、それが参照するメモリ自体ではありません。型UnsafeMutableRawBufferPointerの変数や定数をコピーすることは、基礎をなすメモリをコピーしません。しかしながら、別のコレクションをUnsafeMutableRawBufferPointerインスタンスで初期化することは、バイトを参照されたメモリから外へそして新しいコレクションへとコピーします、
The following example uses someBytes, an UnsafeMutableRawBufferPointer instance, to demonstrate the difference between assigning a buffer pointer and using a buffer pointer as the source for another collection’s elements. Here, the assignment to destBytes creates a new, nonowning buffer pointer covering the first n bytes of the memory that someBytes references—nothing is copied:
以下の例はsomeBytes、UnsafeMutableRawBufferPointerインスタンスを使って、バッファポインタの割り当することとバッファポインタを別のコレクションの要素のソースとして使うことの間の違いを実演します。ここで、destBytesへの割り当ては、someBytesが参照するメモリの最初のnバイトを変換して、新しい、非所有のバッファポインタを作成します — コピーされるものは何もありません:
Next, the bytes referenced by destBytes are copied into byteArray, a new [UInt8] array, and then the remainder of someBytes is appended to byteArray:
次に、destBytesによって参照されるバイトはbyteArray、新しい[UInt8]配列へとコピーされます、そしてそれからsomeBytesの残りはbyteArrayに加えられます:
Assigning into a ranged subscript of an UnsafeMutableRawBufferPointer instance copies bytes into the memory. The next n bytes of the memory that someBytes references are copied in this code:UnsafeMutableRawBufferPointerインスタンスの範囲指定された添え字に対してアサインすることは、それらバイトをメモリにコピーします。someBytesが参照する次のnバイトのメモリは、このコードでコピーされます:
Creates a raw buffer over the same memory as the given raw buffer slice, with the indices rebased to zero.
与えられた生のバッファスライスと同じメモリのすべてを覆う生のバッファを作成します、ゼロに再配置されたインデックスを持ちます。
A sequence containing the same elements as this sequence, but on which some operations, such as map and filter, are implemented lazily.
このシーケンスと同じ要素を含んでいるシーケンス、しかしそれの上で何らかの演算、例えばmapやfilterが遅延に実装されます。
Returns an array containing the non-nil results of calling the given transformation with each element of this sequence.
指定された変換をこのシーケンスの各要素で呼び出す結果で非-nilのものを含んでいる配列を返します。
Returns a Boolean value indicating whether the sequence contains an element that satisfies the given predicate.
指定された述部を満足させるある要素をシーケンスが含むかどうかを指し示すブール値を返します。
Returns the difference needed to produce this collection’s ordered elements from the given collection.
このコレクションのもつ順番付けられた要素をこの与えられたコレクションから生成するのに必要とされる差異を返します。
Returns the difference needed to produce this collection’s ordered elements from the given collection, using the given predicate as an equivalence test.
このコレクションのもつ順番付けられた要素をこの与えられたコレクションから生成するのに必要とされる差異を返します、与えられた述部を同等性テストとして使います。
Returns a subsequence by skipping elements while predicate returns true and returning the remaining elements.predicateがtrueを返す間は要素を飛ばして残りの要素を返すことによって、ある下位シーケンスを返します。
Returns a Boolean value indicating whether this sequence and another sequence contain the same elements in the same order.
このシーケンスともう一方のシーケンスが同じ要素を同じ順序で含むかどうかを指し示すブール値を返します。
Returns a Boolean value indicating whether this sequence and another sequence contain equivalent elements in the same order, using the given predicate as the equivalence test.
このシーケンスともう一方のシーケンスが同等の要素を同じ順序で含むかどうかを、与えられた述部を同等テストとして使って、指し示しているブール値を返します。
Returns a sequence of pairs (n, x), where n represents a consecutive integer starting at zero and x represents an element of the sequence.
ペア (n, x) のシーケンスを返します、そこでnはゼロで開始する連続した数を表して、xはシーケンスの要素を表します。
Returns an array containing the concatenated results of calling the given transformation with each element of this sequence.
指定された変換をこのシーケンスの各要素で呼び出す結果を連結したものを含んでいる配列を返します。
Offsets the given index by the specified distance, or so that it equals the given limiting index.
与えられたインデックスをこの指定された隔たりで補います、またはそれでそれは与えられた限界インデックスと等しくなります。
Returns an index that is the specified distance from the given index, unless that distance is beyond a given limiting index.
与えられたインデックスから指定された隔たりのインデックスを返します、その隔たりが与えられた限界インデックスを越えない限りは。
Initializes the buffer’s memory with the given elements, binding the initialized memory to the elements’ type.
バッファのもつメモリを与えられた要素で初期化します、初期化されたメモリを要素のもつ型に束縛します。
Initializes the memory referenced by this buffer with the given value, binds the memory to the value’s type, and returns a typed buffer of the initialized memory.
このバッファによって参照されるメモリを与えられた値で初期化して、そのメモリを値の型に束縛し、そして初期化されたメモリの型付バッファを返します。
Returns a Boolean value indicating whether the sequence precedes another sequence in a lexicographical (dictionary) ordering, using the less-than operator (<) to compare elements.
そのシーケンスが別のシーケンスの前に来るかどうかを、ある語彙筆記的順序(字典)順序において、より小さい演算子(<)を使って要素を比較して、指し示すブール値を返します。
Returns a Boolean value indicating whether the sequence precedes another sequence in a lexicographical (dictionary) ordering, using the given predicate to compare elements.
シーケンスが別のシーケンスの前に来るかどうかをある語彙筆記的順序(字典)順序において、与えられた述部を使って要素を比較して、指し示すブール値を返します。
Returns a new instance of the given type, read from the buffer pointer’s raw memory at the specified byte offset.
与えられた型の新しいインスタンスを返します、バッファポインタの生のメモリから指定されたバイトオフセットで読み込みます。
Reorders the elements of the collection such that all the elements that match the given predicate are after all the elements that don’t match.
コレクションの要素を再配列します、例えば、与えられた述部にマッチする要素すべてが、合致しない要素すべての後になるなど。
Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.
下位シーケンスを、指定された最大長まで、コレクションの冒頭の要素を含めて返します。
Returns a subsequence containing the initial elements until predicate returns false and skipping the remaining elements.predicateがfalseを返すまで冒頭の要素を含んでいて残りの要素を飛ばしている、ある下位シーケンスを返します。
Returns the longest possible subsequences of the collection, in order, that don’t contain elements satisfying the given predicate.
与えられた述部を満たす要素を含んでいない、このコレクションの最も長くなりうる下位シーケンスそれらを順序どおりに返します。
Returns the longest possible subsequences of the collection, in order, around elements equal to the given element.
与えられた要素と等しい要素を避けるようにして、このコレクションの最も長くなりうる下位シーケンスを、順番に返します。
Returns a Boolean value indicating whether the initial elements of the sequence are the same as the elements in another sequence.
シーケンスの最初の要素らが別のシーケンスの中の要素らと同じかどうかを指し示すブール値を返します。
Returns a Boolean value indicating whether the initial elements of the sequence are equivalent to the elements in another sequence, using the given predicate as the equivalence test.
シーケンスの最初の要素らが別のシーケンスの中の要素らと同等かどうかを、与えられた述部を同等性テストとして使って指し示すブール値を返します。