Data Structures | |
| union | cu_box_t | 
Defines | |
| #define | CU_BOX_SIZE CU_WORD_SIZE | 
| #define | CU_BOX_FITS_FLOAT 1 | 
| #define | CU_BOX_FITS_DOUBLE 1 | 
| #define | CU_BOX_FITS_LONGDOUBLE | 
| #define | CU_BOX_GNEW_TEMPLATE(fn, type) | 
| #define | cu_box_gnew(type, obj) cu_box_galloc(sizeof(type), &(obj)) | 
| #define | cu_box_void() cuP_box_word(0) | 
| #define | CU_BOX_VOID_INIT CUP_BOX_WORD_INIT(0) | 
Functions | |
| cu_box_t | cu_box_galloc (size_t size, void *addr) | 
Integer Types | |
| 
 | |
| cu_box_t | cu_box_int (int i) | 
| int | cu_unbox_int (cu_box_t box) | 
| cu_box_t | cu_box_uint (unsigned int i) | 
| unsigned int | cu_unbox_uint (cu_box_t box) | 
| cu_box_t | cu_box_long (long i) | 
| long | cu_unbox_long (cu_box_t box) | 
| cu_box_t | cu_box_ulong (unsigned long i) | 
| unsigned long | cu_unbox_ulong (cu_box_t box) | 
Floating Point Types | |
| 
 | |
| cu_box_t | cu_box_float (float x) | 
| float | cu_unbox_float (cu_box_t box) | 
| cu_box_t | cu_box_double (double x) | 
| double | cu_unbox_double (cu_box_t box) | 
| cu_box_t | cu_box_longdouble (long double x) | 
| long double | cu_unbox_longdouble (cu_box_t box) | 
Pointers, Functions, and Enums | |
| 
 | |
| #define | cu_box_ptr(type, ptr) cuP_box_ptr(1? (ptr) : (type)(ptr)) | 
| #define | cu_unbox_ptr(type, box) ((type)cuP_unbox_ptr(box)) | 
| #define | CU_BOX_PTR_INIT(type, ptr) CUP_BOX_PTR_INIT(1? (ptr) : (type)(ptr)) | 
| #define | CU_BOX_NULL_PTR_INIT CUP_BOX_PTR_INIT(NULL) | 
| #define | cu_box_fptr(type, fp) cuP_box_fptr((cu_fnptr_t)(1? (fp) : (type)(fp))) | 
| #define | cu_unbox_fptr(type, box) ((type)cuP_unbox_fptr(box)) | 
| #define | CU_BOX_FPTR_INIT(type, fptr) CUP_BOX_FPTR_INIT(1? (fptr) : (type)(fptr)) | 
| #define | CU_BOX_NULL_FPTR_INIT CUP_BOX_FPTR_INIT(NULL) | 
| #define | cu_box_clop(type, cp) cu_box_ptr(type, cp) | 
| #define | cu_unbox_clop(type, box) cu_unbox_ptr(type, box) | 
| #define | cu_box_enum(type, i) cuP_box_word(1? (i) : (type)(i)) | 
| #define | cu_unbox_enum(type, box) ((type)cuP_unbox_word(box)) | 
| #define | CU_BOX_ENUM_INIT(type, i) CUP_BOX_WORD_INIT(1? (i) : (type)(i)) | 
| #define cu_box_clop | ( | type, | |||
| cp | ) | cu_box_ptr(type, cp) | 
Boxes a closure pointer of the specified type.
| #define cu_box_enum | ( | type, | |||
| i | ) | cuP_box_word(1? (i) : (type)(i)) | 
Boxes an enum of the given type.
| #define CU_BOX_ENUM_INIT | ( | type, | |||
| i | ) | CUP_BOX_WORD_INIT(1? (i) : (type)(i)) | 
An initialiser for a box if enum type type.
| #define cu_box_fptr | ( | type, | |||
| fp | ) | cuP_box_fptr((cu_fnptr_t)(1? (fp) : (type)(fp))) | 
Boxes a function pointer of the specified type.
| #define CU_BOX_FPTR_INIT | ( | type, | |||
| fptr | ) | CUP_BOX_FPTR_INIT(1? (fptr) : (type)(fptr)) | 
An initialiser for a function pointer box.
| #define CU_BOX_GNEW_TEMPLATE | ( | fn, | |||
| type | ) | 
| #define CU_BOX_NULL_FPTR_INIT CUP_BOX_FPTR_INIT(NULL) | 
A NULL function pointer box initialiser. 
| #define CU_BOX_NULL_PTR_INIT CUP_BOX_PTR_INIT(NULL) | 
A NULL pointer box initialiser. 
| #define cu_box_ptr | ( | type, | |||
| ptr | ) | cuP_box_ptr(1? (ptr) : (type)(ptr)) | 
Boxes a pointer of the specified type.
| #define CU_BOX_PTR_INIT | ( | type, | |||
| ptr | ) | CUP_BOX_PTR_INIT(1? (ptr) : (type)(ptr)) | 
An initialiser for a pointer box.
| #define cu_unbox_clop | ( | type, | |||
| box | ) | cu_unbox_ptr(type, box) | 
Unboxes a closure pointer of the specified type.
| #define cu_unbox_enum | ( | type, | |||
| box | ) | ((type)cuP_unbox_word(box)) | 
Unboxes an enum of the given type.
| #define cu_unbox_fptr | ( | type, | |||
| box | ) | ((type)cuP_unbox_fptr(box)) | 
Unboxes a function pointer of the specified type.
| #define cu_unbox_ptr | ( | type, | |||
| box | ) | ((type)cuP_unbox_ptr(box)) | 
Unboxes a pointer of the specified type.
| cu_box_t cu_box_float | ( | float | x | ) | 
Boxes a float. 
| cu_box_t cu_box_int | ( | int | i | ) | 
Boxes an int or any shorter integer types. 
| cu_box_t cu_box_long | ( | long | i | ) | 
Boxes a long. 
| cu_box_t cu_box_longdouble | ( | long double | x | ) | 
Boxes a long double. 
| cu_box_t cu_box_uint | ( | unsigned int | i | ) | 
Boxes an unsigned int or any shorter unsigned integer type. 
| cu_box_t cu_box_ulong | ( | unsigned long | i | ) | 
Boxes an unsigned long. 
| float cu_unbox_float | ( | cu_box_t | box | ) | 
Unboxes a float. 
| int cu_unbox_int | ( | cu_box_t | box | ) | 
Unboxes an int or any shorter integer type. 
| long cu_unbox_long | ( | cu_box_t | box | ) | 
Unboxes a long. 
| long double cu_unbox_longdouble | ( | cu_box_t | box | ) | 
Unboxes a long double. 
| unsigned int cu_unbox_uint | ( | cu_box_t | box | ) | 
Unboxes an unsigned int or any shorter unsigned integer type. 
| unsigned long cu_unbox_ulong | ( | cu_box_t | box | ) | 
Unboxes an unsigned long.