The type to bind this memory to. このメモリに束縛することになる型。
moveInitializeMemory(as:from:count:)
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 宣言
@discardableResult func moveInitializeMemory<T>(as type: T.Type, from source: UnsafeMutablePointer
<T>, count: Int
) -> UnsafeMutablePointer
<T>
Parameters パラメータ
type
source
A pointer to the values to copy. The memory in the region
source..<(source + count)
must be initialized to typeT
. コピーされる値に対するポインタ。領域source..<(source + count)
の中のメモリは、型T
に初期化されなければなりません。count
The number of copies of
value
to copy into memory.count
must not be negative. メモリにコピーすることになるvalue
のコピー数。count
は負数であってはいけません。
Return Value 戻り値
A typed pointer to the memory referenced by this raw pointer. この生のポインタによって参照されるメモリへの型付ポインタ。
Discussion 解説
The memory referenced by this pointer must be uninitialized or initialized to a trivial type, and must be properly aligned for accessing T
.
このポインタによって参照されるメモリは、未初期化状態にされるまたは自明型に初期化されなければなりません、そしてT
にアクセスするために適切にアラインされなければなりません。
The memory in the region source..<(source + count)
may overlap with the destination region. The move
method automatically performs a forward or backward copy of all instances from the source region to their destination.
領域source..<(source + count)
の中のメモリは、行き先の領域と重なるかもしれません。move
メソッドは、すべてのインスタンスの前方および後方へのコピーをソース領域からそれらの行き先へ自動的に実行します。
After calling this method on a raw pointer p
, the region starting at p
and continuing up to p + count * Memory
is bound to type T
and initialized. If T
is a nontrivial type, you must eventually deinitialize or move from the values in this region to avoid leaks. Any memory in the region source..<(source + count)
that does not overlap with the destination region is returned to an uninitialized state.
このメソッドを生のポインタp
上で呼び出した後、p
で始まってp + count * Memory
まで続く領域は、型T
に束縛されて初期化されます。T
が非自明型ならば、あなたはゆくゆくはデイニシャライズするかまたはこの領域の値から移動してリークを防がなければなりません。領域source..<(source + count)
の中の何らかのメモリで行き先の領域と重ならないものは、未初期化状態に戻されます。