PtrData.new(addr, [size = 0, free = nil])
アドレス addr を指すポインタに相当する PtrData オブジェクトを返す。 GC は free 関数を使用してメモリを解放する。
free=(sym)
シンボルオブジェクト sym を指定した場合、GC は sym に相当する関数 を使ってメモリを解放する。
free
GC がメモリを解放するのに使用するシンボルオブジェクト sym を返す。 sym は普通 PtrData#free= や PtrData.new によって設定される。
size
size=(size)
サイズ size を割り当てたメモリを取得および設定する。
to_a(type, [size])
type で指定された型の配列を返す。type は 'S','P','I','L','D' そし て 'F' のいずれか。
to_s([len])
長さ len の文字列を返す。len を省略した場合は、文字列の終りは '\0'。
ptr
+ self
ref
- self
参照を PtrData オブジェクト ptr で返す。(訳注:?) (訳注:PtrDataへの参照を、PtrData にして返す(?)) (訳注:PtrDataを指すポインタを、PtrData にして返す(?))
self + n
PtrData オブジェクトを返す。(訳注: 引数バイトを足した新しい PtrData オブジェクトを返す)
self - n
PtrData オブジェクトを返す。(訳注: 引数バイトを引いた新しい PtrData オブジェクトを返す)
struct!(type, *members)
構造体メンバをシンボルでアクセスするデータ型を定義する(PtrData#[] も参照)
union!(type, *members)
共用体メンバをシンボルでアクセスするデータ型を定義する(PtrData#[] も参照)
self[key]
self[key, num = 0]
key が文字列やシンボルなら、このメソッドは構造体/共用体メンバの値 を返す。それは PtrData#{struct!,union!} によって定義された型を持つ。 key が整数でこのオブジェクトがポインタ ptr に相当するなら、 (ptr + key).to_s(num) の値を返す。
self[key, num]= val
self[key]= val
key が文字列やシンボルなら、このメソッドは構造体/共用体メンバの値 を val にする。key が整数で val が文字列なら memcpy(3) を使ってメ モリ領域 ptr への値の num バイトをコピーする。