いくつかRubyのC拡張の実験してたんだけど、実は今まで↓のようなコードを毎回作ってた。
template<typename T> static inline T* DataUnwrapStruct(VALUE obj) { T* ptr; Data_Get_Struct(obj, T, ptr); return ptr; }
さすがにこれ使いまわせるだろってことど、そういったコード断片の置場を作りました。
chiku2gonzalez / chollas — Bitbucket
とりあえず↑のポインタ取得と、ruby_xmalloc使った配置new の改良版を入れておきました。
MITってことにしてあるので使いまわしていいのよ(/ω・\)チラッ