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)))))