NextPrevUpTopContentsIndex

define-c-enum

Macro
Summary

Defines an FLI enumerator type specifier corresponding to the C enum type.

Package

fli

Signature

define-c-enum name &rest enumerator-list => list

enumerator-list ::= { entry-name | ( entry-name entry-value )}*

Arguments

name

The name of the new enumeration type specifier.

enumerator-list

A sequence of symbols, possibly with index values, constituting the enumerator type.

entry-name

A symbol.

entry-value

An index value for an entry-name .

Values

list

The list (:enum name ) .

Description

The macro define-c-enum is used to define an FLI enumerator type specifier, which corresponds to the C enum type. It is a convenience function, as an enumerator type could also be defined using define-foreign-type.

Each entry in the enumerator-list can either consist of a symbol, in which case the first entry has an index value of 0, or of a list of a symbol and its corresponding index value.

Example

In the following example an FLI enumerator type specifier is defined, and the corresponding definition for a C enumerator type follows.

(define-c-enum colors red green blue) enum colors { red, green, blue};

The next example illustrates how to start the enumerator index list counting from 1, instead of from the default value of 0.

(define-c-enum half_year (jan 1) feb mar apr may jun) enum half_year { jan = 1, feb, mar, apr, may, jun }
See also

define-c-struct
define-c-typedef
define-c-union
define-foreign-type
enum-symbol-value


LispWorks Foreign Language Interface User Guide and Reference Manual - 27 Mar 2005

NextPrevUpTopContentsIndex