struct RArray* capi_rarray_struct(VALUE val) { NativeMethodEnvironment* env = NativeMethodEnvironment::get(); Handle* h = Handle::from(val); env->check_tracked_handle(h); return h->as_rarray(env); }
struct RTypedData* capi_rtypeddata_struct(VALUE data_handle) { NativeMethodEnvironment* env = NativeMethodEnvironment::get(); Handle* handle = Handle::from(data_handle); env->check_tracked_handle(handle, false); return handle->as_rtypeddata(env); }
struct RFloat* capi_rfloat_struct(VALUE flt) { NativeMethodEnvironment* env = NativeMethodEnvironment::get(); Handle* handle = Handle::from(flt); env->check_tracked_handle(handle); return handle->as_rfloat(env); }
struct RString* capi_rstring_struct(VALUE str_handle) { NativeMethodEnvironment* env = NativeMethodEnvironment::get(); Handle* handle = Handle::from(str_handle); env->check_tracked_handle(handle); RString* rstring = handle->as_rstring(env); return rstring; }