55件ヒット
[1-55件を表示]
(0.024秒)
キーワード
-
DATA
_ PTR (11) -
Data
_ Get _ Struct (11) -
Data
_ Make _ Struct (11) -
Data
_ Wrap _ Struct (11) - RDATA (11)
検索結果
先頭5件
-
VALUE Data
_ Make _ Struct(VALUE klass , type , RUBY _ DATA _ FUNC mark , RUBY _ DATA _ FUNC free , type *svar) (6319.0) -
type 型の構造体をヒープに割り当ててそれへのポインタを svar に代入し、クラス klass のインスタンスである Ruby のオブジェクトを生成し、それを返します。mark free はそれぞれマーク用・解放用の関数へのポインタです。 どちらも、必要ないときはかわりに 0 を渡します。
...へのポインタです。
どちらも、必要ないときはかわりに 0 を渡します。
また RUBY_DATA_FUNC の定義は以下のようです。
typedef void (*RUBY_DATA_FUNC)(void *st)
第一引数 st には svar の値が渡されます。
使用例
struct mytype {......int i;
char *s;
};
VALUE
my_s_new(klass)
VALUE klass;
{
struct mytype *dummy;
return Data_Make_Struct(MyClass, struct mytype,
mark_my, free_my, dummy);
}... -
VALUE Data
_ Wrap _ Struct(VALUE klass , RUBY _ DATA _ FUNC mark , RUBY _ DATA _ FUNC free , void *sval) (6319.0) -
C の構造体 sval をラップして klass クラスの インスタンスである Ruby オブジェクトを生成し、それを返します。 mark、free はそれぞれ sval のマーク用・解放用の 関数へのポインタです。どちらも、必要ないときはかわりに 0 を渡します。
...へのポインタです。どちらも、必要ないときはかわりに 0 を渡します。
また RUBY_DATA_FUNC の定義は以下のようです。
typedef void (*RUBY_DATA_FUNC)(void *st)
第一引数 st には sval が渡されます。
使用例
struct mytype {
int i;......char *s;
};
VALUE
my_s_new(klass)
VALUE klass;
{
struct mytype *m = malloc(sizeof(struct mytype));
m->i = 0;
m->s = 0;
return Data_Wrap_Struct(MyClass, 0, free_my, m);
}... -
struct RData * RDATA(VALUE obj) (6201.0)
-
-
void Data
_ Get _ Struct(VALUE obj , type , type *svar) (6107.0) -
Ruby のオブジェクト obj から type 型へのポインタを とりだし svar に代入します。
...j から type 型へのポインタを
とりだし svar に代入します。
使用例
struct mytype {
int i;
char *s;
};
VALUE
my_i(VALUE self)
{
struct mytype *m;
Data_Get_Struct(self, struct mytype, m);
return INT2NUM(m->i);
}... -
void * DATA
_ PTR(VALUE dta) (6101.0) -
実際は struct RData* 型である dta から、 それがラップしているポインタを取り出します。
...実際は struct RData* 型である dta から、
それがラップしているポインタを取り出します。...