enumerated - Factor Documentation (original) (raw)
enumerated
Factor handbook » The language » Collections » Enumerations
Next: | ( seq -- enumerated ) |
---|
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
TUPLE: enumerated { seq read-only } ;
Methods
USING: assocs inspector.private ;
USING: accessors assocs sequences ;
M: enumerated assoc-size seq>> length ; inline
USING: accessors assocs kernel sequences sequences.private ;
M: enumerated at*
seq>> 2dup bounds-check? [ nth-unsafe t ] [ 2drop f f ] if ;
inline
USING: accessors assocs sequences ;
M: enumerated clear-assoc seq>> delete-all ; inline
USING: accessors assocs kernel sequences ;
M: enumerated delete-at seq>> remove-nth! drop ; inline
USING: accessors arrays assocs sequences ;
M: enumerated keys seq>> length >array ; inline
USING: accessors assocs sequences ;
M: enumerated length seq>> length ; inline
USING: accessors arrays assocs kernel sequences.private ;
M: enumerated nth-unsafe dupd seq>> nth-unsafe 2array ; inline
USING: accessors assocs sequences ;
M: enumerated set-at seq>> set-nth ; inline
USING: accessors arrays assocs kernel sequences ;
M: enumerated unzip
seq>> [ length ] keep [ >array ] bi@ ;