Swift 標準ライブラリ  >     UnsafeMutablePointer
汎用構造体
UnsafeMutablePointer
Pointee 型のデータにアクセスするための生ポインタ。この型は自動メモリ管理を提供しないため、安全性を確保するために細心の注意を払って処理する必要があります。
概観
インスタンスは MemoryLayout<Pointee>.alignment へと整列されなければならない,つまり (UnsafePointer<Int8>(self) - nil) % MemoryLayout<Pointee>.alignment == 0 です。
インスタンスによって参照されるメモリは、以下のいずれかの状態になります。
- メモリが割り当てられていない (たとえば、ポインタがヌル、またはメモリが以前に割り当て解除された)
- メモリは割り当てられたが、値は初期化されていない。
メモリが割り当てられ、値が初期化された。
シンボル
型エイリアス
イニシャライザ
init(OpaquePointer)
不透明な(opaque) ポインターから型付きの(typed) ポインターに変換します。
init?(OpaquePointer?)
不透明な(opaque) ポインターから型付きの(typed) ポインターに変換します。
init?(bitPattern: Int)
与えられたビットパターンで UnsafeMutablePointer を作成します。
init?(bitPattern: UInt)
与えられたビットパターンで UnsafeMutablePointer を作成します。
init?(UnsafeMutablePointer<Pointee>?)
別の UnsafeMutablePointer から UnsafeMutablePointer を作成します。
init(UnsafeMutablePointer<Pointee>)
別の UnsafeMutablePointer から UnsafeMutablePointer を作成します。
init(mutating: UnsafePointer<Pointee>)
UnsafePointer から同じ Pointee の UnsafeMutablePointer に変換します。
init?(mutating: UnsafePointer<Pointee>?)
UnsafePointer から同じ Pointee の UnsafeMutablePointer に変換します。
インスタンスプロパティー
var debugDescription: String
デバッグに適したポインタのテキスト表現。
var hashValue: Int
ポインタのハッシュ値。
var customMirror: Mirror
var customPlaygroundQuickLook: PlaygroundQuickLook
var pointee: Pointee
self が参照する Pointee インスタンスにアクセスします。
インスタンスメソッド
func move()
pointee を取得し、参照されたメモリを初期化されていない状態に戻します。
func predecessor()
以前の連続位置を返します。
func successor()
次の連続位置を返します。
func advanced(by: Int)
self + n を返します。
func deinitialize(count: Int)
self から始まる count Pointee をデイニシャライズし、それらのメモリーを非初期化された状態に戻します。
func distance(to: UnsafeMutablePointer<Pointee>)
end - self を返します。
func deallocate(capacity: Int)
Pointee の count インスタンスに割り当てられた初期化されていないメモリを解放します。
func initialize(to: Pointee, count: Int)
newValue 値の count 個の連続コピーで self.pointee を初期化します。
func assign(from: UnsafePointer<Pointee>, count: Int)
self で始まる count 個の初期化された Pointees を、source で始まる count Pointee に置き換えます。
func initialize<C>(from: C)
self から始まるメモリを source の要素で初期化します。
func initialize(from: UnsafePointer<Pointee>, count: Int)
self から始まるメモリを source で始まる count Pointee で初期化します。
func moveAssign(from: UnsafeMutablePointer<Pointee>, count: Int)
self で始まるcount 個の初期化された Pointee を source で始まる count Pointee で置き換えます。ソースメモリを初期化されていない状態に戻します。
func moveInitialize(from: UnsafeMutablePointer<Pointee>, count: Int)
self で始まるメモリを source で始まる count Pointee で初期化し、ソースメモリを初期化されていない状態に戻します。
func withMemoryRebound<T, Result>(to: T.Type, capacity: Int, (UnsafeMutablePointer<T>) -> Result)
本体のクロージャを実行している間に隣接する T 値の count を保持する容量を持つ T 型に self のメモリを再結合します。
型メソッド
static func allocate(capacity: Int)
Pointee の count インスタンス用の初期化されていない整列メモリを割り当て、ポイントします。
サブスクリプト
subscript(Int)
self + i にある pointee にアクセスします。
関連
以下に準拠:
- Comparable
- CustomDebugStringConvertible
- CustomPlaygroundQuickLookable
- CustomReflectable