On this page:
make-union-type
_  union
union?
union-ref
union-set!
union-ptr

3.9 C Union Types

procedure

(make-union-type type ...+) → ctype?

  type : ctype?
The primitive type constructor for creating new C union types. Like C struct types, union types are new primitive types with no conversion functions associated. Unions are always treated like structs.

procedure

(_union type ...+) → ctype?

  type : ctype?
Creates a union type whose Racket representation is a union that works with union-ref and union-set!. The union is not copied; the Racket representation is backed by the underlying C representation.

procedure

(union? v) → boolean?

  v : any/c
Returns #t if v is a Racket representation of a C value via _union, #f otherwise.

procedure

(union-ref u i) → any/c

  u : union?
  i : exact-nonnegative-integer?
Extracts a variant from a union.

procedure

(union-set! u i v) → void?

  u : union?
  i : exact-nonnegative-integer?
  v : any/c
Sets a variant in a union..

procedure

(union-ptr u) → cpointer?

  u : array?
Extracts the pointer for a union’s storage.