PostgreSQL Source Code: src/include/utils/relptr.h File Reference (original) (raw)

Go to the source code of this file.

Macros
#define relptr(type) union { type *relptr_type; Size relptr_off; }
#define relptr_declare(type, relptrtype) typedef relptr(type) relptrtype
#define relptr_access(base, rp)
#define relptr_is_null(rp) ((rp).relptr_off == 0)
#define relptr_offset(rp) ((rp).relptr_off - 1)
#define relptr_store(base, rp, val)
#define relptr_copy(rp1, rp2) ((rp1).relptr_off = (rp2).relptr_off)

relptr_access

Value:

(void *) ((rp).relptr_off == 0 ? NULL : (base) + (rp).relptr_off - 1))

#define StaticAssertVariableIsOfTypeMacro(varname, typename)

Definition at line 47 of file relptr.h.

49 : (base) + (rp).relptr_off - 1))

relptr_copy

relptr_declare

relptr_is_null

relptr_offset

relptr_store

Value:

static Size relptr_store_eval(char *base, char *val)

Definition at line 77 of file relptr.h.

relptr_store_eval()

Definition at line 60 of file relptr.h.

61{

63 return 0;

64 else

65 {

67 return val - base + 1;

68 }

69}

#define Assert(condition)

References Assert, fb(), and val.