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

IN: assocs

TUPLE: enumerated { seq read-only } ;

Methods

USING: assocs ;

M: enumerated >alist ; inline

USING: assocs inspector.private ;

M: enumerated add-numbers ;

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@ ;

USING: accessors arrays assocs ;

M: enumerated values seq>> >array ; inline