More...
Go to the source code of this file.
|
#define | Data_Wrap_Struct(mrb, klass, type, ptr) |
|
#define | Data_Make_Struct(mrb, klass, strct, type, sval, data_obj) |
|
#define | RDATA(obj) |
|
#define | DATA_PTR(d) |
|
#define | DATA_TYPE(d) |
|
#define | DATA_GET_PTR(mrb, obj, dtype, type) |
|
#define | DATA_CHECK_GET_PTR(mrb, obj, dtype, type) |
|
#define | mrb_data_check_and_get(mrb, obj, dtype) |
|
#define | mrb_get_datatype(mrb, val, type) |
|
#define | mrb_check_datatype(mrb, val, type) |
|
#define | Data_Get_Struct(mrb, obj, type, sval) |
|
|
typedef struct mrb_data_type | mrb_data_type |
| Custom C wrapped data.
|
|
|
struct RData * | mrb_data_object_alloc (mrb_state *mrb, struct RClass *klass, void *datap, const mrb_data_type *type) |
|
void | mrb_data_check_type (mrb_state *mrb, mrb_value, const mrb_data_type *) |
|
void * | mrb_data_get_ptr (mrb_state *mrb, mrb_value, const mrb_data_type *) |
|
void * | mrb_data_check_get_ptr (mrb_state *mrb, mrb_value, const mrb_data_type *) |
|
static void | mrb_data_init (mrb_value v, void *ptr, const mrb_data_type *type) |
|
See Copyright Notice in mruby.h
◆ DATA_CHECK_GET_PTR
#define DATA_CHECK_GET_PTR |
( |
| mrb, |
|
|
| obj, |
|
|
| dtype, |
|
|
| type ) |
Value:(type*)mrb_data_check_get_ptr(mrb,obj,dtype)
◆ DATA_GET_PTR
#define DATA_GET_PTR |
( |
| mrb, |
|
|
| obj, |
|
|
| dtype, |
|
|
| type ) |
Value:(type*)mrb_data_get_ptr(mrb,obj,dtype)
◆ Data_Get_Struct
#define Data_Get_Struct |
( |
| mrb, |
|
|
| obj, |
|
|
| type, |
|
|
| sval ) |
Value: do {\
*(void**)&sval = mrb_data_get_ptr(mrb, obj, type); \
} while (0)
◆ Data_Make_Struct
#define Data_Make_Struct |
( |
| mrb, |
|
|
| klass, |
|
|
| strct, |
|
|
| type, |
|
|
| sval, |
|
|
| data_obj ) |
Value: do { \
(data_obj) = Data_Wrap_Struct(mrb,klass,type,NULL);\
(sval) = (strct*)mrb_malloc(mrb, sizeof(strct)); \
{ static const strct zero = { 0 }; *(sval) = zero; };\
(data_obj)->data = (sval);\
} while (0)
◆ DATA_PTR
◆ DATA_TYPE
◆ Data_Wrap_Struct
#define Data_Wrap_Struct |
( |
| mrb, |
|
|
| klass, |
|
|
| type, |
|
|
| ptr ) |
Value: mrb_data_object_alloc(mrb,klass,ptr,type)
◆ mrb_check_datatype
#define mrb_check_datatype |
( |
| mrb, |
|
|
| val, |
|
|
| type ) |
Value:mrb_data_get_ptr(mrb, val, type)
◆ mrb_data_check_and_get
#define mrb_data_check_and_get |
( |
| mrb, |
|
|
| obj, |
|
|
| dtype ) |
Value:mrb_data_get_ptr(mrb,obj,dtype)
◆ mrb_get_datatype
#define mrb_get_datatype |
( |
| mrb, |
|
|
| val, |
|
|
| type ) |
Value:mrb_data_get_ptr(mrb, val, type)
◆ RDATA
Value:((
struct RData*)(mrb_ptr(obj)))
◆ mrb_data_type
typedef struct mrb_data_type mrb_data_type |
Custom C wrapped data.
Defining Ruby wrappers around native objects. Custom data type description.