Groonga 3.0.9 Source Code Document
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Typedefs | Functions
data.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  mrb_data_type
struct  RData

Macros

#define Data_Wrap_Struct(mrb, klass, type, ptr)   mrb_data_object_alloc(mrb,klass,ptr,type)
#define Data_Make_Struct(mrb, klass, strct, type, sval, data)
#define RDATA(obj)   ((struct RData *)(mrb_ptr(obj)))
#define DATA_PTR(d)   (RDATA(d)->data)
#define DATA_TYPE(d)   (RDATA(d)->type)
#define DATA_GET_PTR(mrb, obj, dtype, type)   (type*)mrb_data_get_ptr(mrb,obj,dtype)
#define DATA_CHECK_GET_PTR(mrb, obj, dtype, type)   (type*)mrb_data_check_get_ptr(mrb,obj,dtype)
#define mrb_data_check_and_get(mrb, obj, dtype)   mrb_data_get_ptr(mrb,obj,dtype)
#define mrb_get_datatype(mrb, val, type)   mrb_data_get_ptr(mrb, val, type)
#define mrb_check_datatype(mrb, val, type)   mrb_data_get_ptr(mrb, val, type)
#define Data_Get_Struct(mrb, obj, type, sval)

Typedefs

typedef struct mrb_data_type mrb_data_type

Functions

struct RDatamrb_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 *)

Macro Definition Documentation

#define DATA_CHECK_GET_PTR (   mrb,
  obj,
  dtype,
  type 
)    (type*)mrb_data_check_get_ptr(mrb,obj,dtype)

Definition at line 44 of file data.h.

#define DATA_GET_PTR (   mrb,
  obj,
  dtype,
  type 
)    (type*)mrb_data_get_ptr(mrb,obj,dtype)

Definition at line 42 of file data.h.

#define Data_Get_Struct (   mrb,
  obj,
  type,
  sval 
)
Value:
do {\
*(void**)&sval = mrb_data_get_ptr(mrb, obj, type); \
} while (0)

Definition at line 50 of file data.h.

#define Data_Make_Struct (   mrb,
  klass,
  strct,
  type,
  sval,
  data 
)
Value:
do { \
sval = mrb_malloc(mrb, sizeof(strct)); \
{ static const strct zero = { 0 }; *sval = zero; };\
data = Data_Wrap_Struct(mrb,klass,type,sval);\
} while (0)

Definition at line 31 of file data.h.

#define DATA_PTR (   d)    (RDATA(d)->data)

Definition at line 38 of file data.h.

#define DATA_TYPE (   d)    (RDATA(d)->type)

Definition at line 39 of file data.h.

#define Data_Wrap_Struct (   mrb,
  klass,
  type,
  ptr 
)    mrb_data_object_alloc(mrb,klass,ptr,type)

Definition at line 28 of file data.h.

#define mrb_check_datatype (   mrb,
  val,
  type 
)    mrb_data_get_ptr(mrb, val, type)

Definition at line 49 of file data.h.

#define mrb_data_check_and_get (   mrb,
  obj,
  dtype 
)    mrb_data_get_ptr(mrb,obj,dtype)

Definition at line 47 of file data.h.

#define mrb_get_datatype (   mrb,
  val,
  type 
)    mrb_data_get_ptr(mrb, val, type)

Definition at line 48 of file data.h.

#define RDATA (   obj)    ((struct RData *)(mrb_ptr(obj)))

Definition at line 37 of file data.h.

Typedef Documentation

typedef struct mrb_data_type mrb_data_type

Function Documentation

void* mrb_data_check_get_ptr ( mrb_state mrb,
mrb_value  ,
const mrb_data_type  
)

Definition at line 49 of file etc.c.

void mrb_data_check_type ( mrb_state mrb,
mrb_value  ,
const mrb_data_type  
)

Definition at line 27 of file etc.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void* mrb_data_get_ptr ( mrb_state mrb,
mrb_value  ,
const mrb_data_type  
)

Definition at line 61 of file etc.c.

Here is the call graph for this function:

struct RData* mrb_data_object_alloc ( mrb_state mrb,
struct RClass klass,
void *  datap,
const mrb_data_type type 
)
read

Definition at line 15 of file etc.c.

Here is the call graph for this function: