Basic constructor macro for cconst structures.
(make-cconst [:prefix <prefix>] [:cchars <cchars>])
This is the usual way to construct cconst structures. It simply conses together a structure with the specified fields.
This macro generates a new cconst structure from scratch. See also change-cconst, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-cconst (&rest args) (std::make-aggregate 'cconst args '((:prefix) (:cchars)) 'make-cconst nil))
Function:
(defun cconst (prefix cchars) (declare (xargs :guard (and (cprefix-optionp prefix) (c-char-listp cchars)))) (declare (xargs :guard t)) (let ((__function__ 'cconst)) (declare (ignorable __function__)) (b* ((prefix (mbe :logic (cprefix-option-fix prefix) :exec prefix)) (cchars (mbe :logic (c-char-list-fix cchars) :exec cchars))) (list (cons 'prefix prefix) (cons 'cchars cchars)))))