Structural Informatics Group (SIG) logo
Home | Projects | Demos | Downloads | Publications | Local Info | About Us | New site
Go to the first, previous, next, last section, table of contents.

;GET ;SET etc x03d

source files: [xc]03d.[ch]

SYNTAX

(SEND <x03d> :GET <:PROPERTY> [<default-value>])
(SEND <x03d> :SET <:PROPERTY> <value>)
(SEND <x03d> :REMPROP <:PROPERTY>)
(SEND <x03d> :PROPERTY-LIST-LENGTH)
(SEND <x03d> :PROPERTY-LIST-NTH <fix:index> [<default-value>])

DESCRIPTION

:GET/:SET are used to fetch/store propertylist values passively stored for the benefit of the user. A given property is present at most once on the propertylist: :SET of a prexisting property changes it's value rather than adding a second entry. (A property may, of course, have a list as it's value, so this is not much of a restriction logically.)

If :GET does not find the requested property, it returns <default-value> if one was provided, otherwise signals an error.

:REMPROP removes the given property from the propertylist, returning (:PROPERTY . <val>) if the property was successfully removed, else NIL.

:PROPERTY-LIST-LENGTH and :PROPERTY-LIST-NTH are provided to allow iteration through all properties on object, the latter's <default-value> works just as on :GET. :PROPERTY-LIST-NTH takes indices from zero to one less than the return value of :PROPERTY-LIST-LENGTH.


Go to the first, previous, next, last section, table of contents.