-! (c)2010 Joe Groff, Erik Charlebois bsd license
+! Copyright (C) 2010 Joe Groff, Erik Charlebois.
+! See http://factorcode.org/license.txt for BSD license.
USING: accessors alien.c-types arrays assocs classes.singleton
-combinators delegate fry kernel macros math parser sequences
-words ;
+combinators delegate kernel math parser sequences words ;
IN: alien.enums
<PRIVATE
: define-enum-constructor ( word -- )
[ name>> "<" ">" surround create-word-in ] keep
- [ number>enum ] curry ( number -- enum ) define-inline ;
+ [ number>enum ] curry ( number -- enum ) define-declared ;
PRIVATE>
"c-type" word-prop members>> values ;
: enum>keys ( enum -- seq )
- "c-type" word-prop members>> keys [ name>> ] map ;
\ No newline at end of file
+ "c-type" word-prop members>> keys [ name>> ] map ;
+
+: values>enum ( values enum -- seq )
+ '[ _ number>enum ] map ; inline
+