Go to the source code of this file.
◆ relptr
#define relptr |
( |
|
type | ) |
union { type *relptr_type; Size relptr_off; } |
◆ relptr_access
#define relptr_access |
( |
|
base, |
|
|
|
rp |
|
) |
| |
Value:
(void *) ((rp).relptr_off == 0 ? NULL : (base) + (rp).relptr_off - 1))
#define AssertVariableIsOfTypeMacro(varname, typename)
Definition at line 51 of file relptr.h.
◆ relptr_copy
#define relptr_copy |
( |
|
rp1, |
|
|
|
rp2 |
|
) |
| ((rp1).relptr_off = (rp2).relptr_off) |
◆ relptr_declare
#define relptr_declare |
( |
|
type, |
|
|
|
relptrtype |
|
) |
| typedef relptr(type) relptrtype |
◆ relptr_is_null
#define relptr_is_null |
( |
|
rp | ) |
((rp).relptr_off == 0) |
◆ relptr_offset
#define relptr_offset |
( |
|
rp | ) |
((rp).relptr_off - 1) |
◆ relptr_store
#define relptr_store |
( |
|
base, |
|
|
|
rp, |
|
|
|
val |
|
) |
| |
Value:
static Size relptr_store_eval(char *base, char *val)
Definition at line 85 of file relptr.h.
◆ relptr_store_eval()
static Size relptr_store_eval |
( |
char * |
base, |
|
|
char * |
val |
|
) |
| |
|
inlinestatic |
Definition at line 64 of file relptr.h.
71 return val - base + 1;
#define Assert(condition)
References Assert, and val.