This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
#define
relptr_copy(rp1, rp2) ((rp1).relptr_off = (rp2).relptr_off)
Macro Definition Documentation
◆ 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
◆ 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,
)
Value:
static Size relptr_store_eval(char *base, char *val)
Definition at line 85 of file relptr.h.
Function Documentation
◆ relptr_store_eval()
static
Size relptr_store_eval
(
char *
base,
char *
val
)
inlinestatic
Definition at line 64 of file relptr.h.
65{
67 return 0;
68 else
69 {
71 return val - base + 1;
72 }
73}
Assert(PointerIsAligned(start, uint64))
References Assert(), and val.