enum
Factor documentation > Factor handbook > The language > Collections > Enumerations
Next:<enum> ( seq -- enum )


Vocabulary
assocs

Class description
An associative structure which wraps a sequence and maps integers to the corresponding elements of the sequence.

Enumerations are mutable; note that deleting a key calls remove-nth!, which results in all subsequent elements being shifted down.

Definition
IN: assocs

TUPLE: enum { seq read-only } ;


Methods
USING: accessors assocs kernel sequences ;

M: enum >alist seq>> [ length iota ] keep zip ; inline


USING: assocs inspector.private ;

M: enum add-numbers ;


USING: accessors assocs sequences ;

M: enum assoc-size seq>> length ; inline


USING: accessors assocs kernel sequences sequences.private ;

M: enum at*
seq>> 2dup bounds-check? [ nth-unsafe t ] [ 2drop f f ] if
; inline


USING: accessors assocs sequences ;

M: enum clear-assoc seq>> delete-all ; inline


USING: accessors assocs kernel sequences ;

M: enum delete-at seq>> remove-nth! drop ; inline


USING: accessors arrays assocs sequences ;

M: enum keys seq>> length iota >array ; inline


USING: accessors assocs sequences ;

M: enum length seq>> length ; inline


USING: accessors arrays assocs kernel sequences.private ;

M: enum nth-unsafe dupd seq>> nth-unsafe 2array ; inline


USING: accessors assocs sequences ;

M: enum set-at seq>> set-nth ; inline


USING: accessors arrays assocs ;

M: enum values seq>> >array ; inline