This is the slot-extra-options Reference Manual, version 1.1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 06:43:37 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
slot-extra-options
Extra options for slots using MOP.
Dmitrii Korobeinikov <dim1212k@gmail.com>
LGPL-3.0-or-later
1.1.0
alexandria
(system).
closer-mop
(system).
serapeum
(system).
iterate
(system).
package.lisp
(file).
utils.lisp
(file).
error-conditions.lisp
(file).
coalesce.lisp
(file).
slot-extra-options.lisp
(file).
macro.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
slot-extra-options/slot-extra-options.asd
slot-extra-options/package.lisp
slot-extra-options/utils.lisp
slot-extra-options/error-conditions.lisp
slot-extra-options/coalesce.lisp
slot-extra-options/slot-extra-options.lisp
slot-extra-options/macro.lisp
slot-extra-options/slot-extra-options.asd
slot-extra-options
(system).
slot-extra-options/utils.lisp
package.lisp
(file).
slot-extra-options
(system).
all-direct-slot-definitions
(function).
all-slot-readers
(function).
all-slot-writers
(function).
ensure-finalized-precedence
(function).
ensure-option-in-slot-def
(function).
find-dslot
(function).
find-slot
(function).
pick-in-slot-def
(function).
pick-in-slot-defs
(function).
remove-from-slot-def
(function).
slot-exists-and-bound-p
(function).
slot-option-direct-changed-p
(function).
slot-option-effective-changed-p
(function).
def-slot-option-changed-p
(macro).
itr
(macro).
remove-from-slot-defs
(function).
slot-extra-options/error-conditions.lisp
utils.lisp
(file).
slot-extra-options
(system).
slot-extra-options-error
(condition).
message
(reader method).
slot-extra-options/coalesce.lisp
error-conditions.lisp
(file).
slot-extra-options
(system).
coalesce-options
(generic function).
slot-extra-options/slot-extra-options.lisp
coalesce.lisp
(file).
slot-extra-options
(system).
coalescence
(reader method).
(setf coalescence)
(writer method).
compute-effective-slot-definition
(method).
initform
(reader method).
(setf initform)
(writer method).
name
(reader method).
(setf name)
(writer method).
option-type
(reader method).
(setf option-type)
(writer method).
options
(reader method).
(setf options)
(writer method).
slot-extra-options-class
(class).
slot-option
(class).
validate-superclass
(method).
make-slot-option
(function).
make-slot-option-from-definition
(function).
merge-metaclass-options
(function).
merge-slot-options
(function).
metaclass-options-list-from-inheritence
(function).
set-slot-option-defaults
(function).
slot-extra-options/macro.lisp
slot-extra-options.lisp
(file).
slot-extra-options
(system).
def-extra-options-metaclass
(macro).
Packages are listed by definition order.
slot-extra-options
common-lisp
.
all-direct-slot-definitions
(function).
all-slot-readers
(function).
all-slot-writers
(function).
coalesce-options
(generic function).
coalescence
(generic reader).
(setf coalescence)
(generic writer).
def-extra-options-metaclass
(macro).
ensure-finalized-precedence
(function).
ensure-option-in-slot-def
(function).
find-dslot
(function).
find-slot
(function).
initform
(generic reader).
(setf initform)
(generic writer).
name
(generic reader).
(setf name)
(generic writer).
option-type
(generic reader).
(setf option-type)
(generic writer).
options
(generic reader).
(setf options)
(generic writer).
pick-in-slot-def
(function).
pick-in-slot-defs
(function).
remove-from-slot-def
(function).
slot-exists-and-bound-p
(function).
slot-extra-options-class
(class).
slot-extra-options-error
(condition).
slot-option
(class).
slot-option-direct-changed-p
(function).
slot-option-effective-changed-p
(function).
def-slot-option-changed-p
(macro).
itr
(macro).
make-slot-option
(function).
make-slot-option-from-definition
(function).
merge-metaclass-options
(function).
merge-slot-options
(function).
message
(generic reader).
metaclass-options-list-from-inheritence
(function).
remove-from-slot-defs
(function).
set-slot-option-defaults
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Define metaclass NAME from OPTION-DEFINITIONS while inheriting from DIRECT-SUPERCLASSES and ‘slot-extra-options-class’. OPTION-DEFINITIONS are used to construct ‘slot-option’s. The format for an option definition is (name [:initform <initform>] [:coalescence <rule specializer>] [:type <type of option>]). The custom options you define may be easily inspected (after the class has been finalized) just like regular options (aka ‘slot-definition-initform’): with slot-definition-<option-name>, which yields the desired ‘slot-option’. Slot options may have custom inheritence rules - see ‘coalesce-options’ for details.
Get all slot definition of SLOT-NAME in the precedence list of CLASS, ordered as they come in the precedence list. CLASS must be finalized.
All slot readers gathered from the direct definitions of the precedence list of CLASS. CLASS must be finalized.
All slot writers gathered from the direct definitions of the precedence list of CLASS. CLASS must be finalized.
Finalize the class and all classes in its precedence list.
Ensure that key is present in slot definition SLOT-DEF, and, if not, place it there with DEFAULT. Or error if default is not supplied.
Find direct slot named SLOT-NAME in CLASS-OR-CLASS-NAME.
Find effective slot named SLOT-NAME in CLASS-OR-CLASS-NAME.
Return a list of all options specified by KEY in the slot definition SLOT-DEF, ordered as they come in there. Example: (pick-in-slot-def ’(zulu :initform 0 :reader z0 :reader z1) :reader) => (z0 z1).
Return a list of all options specified by KEY in SLOT-DEFS. See ‘pick-in-slot-def’.
Remove all options specified by KEY from slot definition SLOT-DEF.
Find the first class in the ‘rest’ of ‘class-precedence-list’
where SLOT-NAME exists, and then, if option OPTION-NAME exists, compare it with
the option OPTION-NAME of SLOT-NAME of CLASS using equality predicate EQ-COMP
(if both are unbound, nil is returned). If option doesn’t not exist, or there
are no SLOT-NAME slots, return t. In this version of the function, the direct slots are examined.
Find the first class in the ‘rest’ of ‘class-precedence-list’
where SLOT-NAME exists, and then, if option OPTION-NAME exists, compare it with
the option OPTION-NAME of SLOT-NAME of CLASS using equality predicate EQ-COMP
(if both are unbound, nil is returned). If option doesn’t not exist, or there
are no SLOT-NAME slots, return t. In this version of the function, the effective slots are examined. Please, ensure that all classes are finalized
before calling!
Coalesce option OPTION-NAME of CLASS from direct slots
DSLOTS. This lets you define inheritence for custom options (see
‘slot-extra-options-class’). ‘compute-effective-slot-definition’ calls this
method for each option in turn and expects (values <new value of the option>
<’bind or ’leave-unbound>). To define a custom inheritence rule, you can
specialize on RULE (see already existing specializations for examples).
(eql slot-extra-options:bound-only-once)
)) ¶Ensure that a value is bound only once in the whole inheritence line. Subclasses inherit that value (and cannot override it, getting an error).
(eql slot-extra-options:difference)
)) ¶Set difference of first dslot’s OPTION from the rest of DSLOTS, removing duplicates. Lists only (unbound treated as NIL).
(eql merge)
)) ¶Merge option OPTION-NAME of all DSLOTS. Lists only (unbound treated as NIL).
(eql slot-extra-options:replace-or-inherit)
)) ¶Inherit option OPTION-NAME from the first of DSLOTS where it’s bound.
slot-option
)) ¶automatically generated reader method
slot-option
)) ¶automatically generated writer method
slot-option
)) ¶automatically generated reader method
slot-option
)) ¶automatically generated writer method
slot-option
)) ¶automatically generated reader method
name
.
slot-option
)) ¶automatically generated writer method
name
.
slot-option
)) ¶automatically generated reader method
slot-option
)) ¶automatically generated writer method
slot-extra-options-class
)) ¶automatically generated reader method
slot-extra-options-class
)) ¶automatically generated writer method
slot-extra-options-class
) slot-name direct-slots) ¶Coalesce DIRECT-SLOTS and produce a slot with custom options defined in CLASS.
sb-mop
.
slot-extra-options-class
) (superclass standard-class
)) ¶sb-mop
.
error
.
A metaclass which lets you define new slot options/keywords for classes. See ‘def-extra-options-metaclass’ for usage details.
standard-class
.
:class
:options
Contains information that defines an option.
Alias for ‘iterate:iterate’.
Make ‘slot-option’ from OPTION-DEFINITION.
Remove all options specified by KEY from slot deifinitions SLOT-DEFS. See ‘remove-from-slot-def’.
Fill in the defaults - setting them in ‘slot-option’ directly will screw up inhertiing them: they need to be unbound for that. Destructive.
slot-extra-options-error
)) ¶Jump to: | (
A C D E F G I M N O P R S V |
---|
Jump to: | (
A C D E F G I M N O P R S V |
---|
Jump to: | C I M N O S |
---|
Jump to: | C I M N O S |
---|
Jump to: | C E F M P S U |
---|
Jump to: | C E F M P S U |
---|