(define-struct-class) ( class slot-specs offsets-quot alignment-quot -- )


Vocabulary
classes.struct.private

Inputs
classan object
slot-specsan object
offsets-quotan object
alignment-quotan object


Outputs
None

Definition


:: (define-struct-class)
( class slot-specs offsets-quot alignment-quot -- )
slot-specs check-struct-slots slot-specs empty?
[ struct-must-have-slots ] when
class redefine-struct-tuple-class
slot-specs offsets-quot call
:> unaligned-size slot-specs alignment-quot call
:> alignment unaligned-size alignment align
:> size class slot-specs size alignment c-type-for-class
:> c-type class forget-struct-slot-accessors
c-type class typedef class slot-specs define-accessors
class size "struct-size" set-word-prop
class dup make-struct-prototype "prototype" set-word-prop
class define-struct-methods ; inline