30 lines
1.5 KiB
Factor
30 lines
1.5 KiB
Factor
IN: linked-assocs
|
|
USING: assocs help.markup help.syntax linked-assocs.prettyprint ;
|
|
|
|
HELP: linked-assoc
|
|
{ $class-description "The class of linked assocs. Linked assoc are implemented by combining an assoc with a dlist. The assoc is used for lookup and retrieval of single values, while the dlist is used for getting lists of keys/values, which will be in insertion order." } ;
|
|
|
|
HELP: <linked-assoc>
|
|
{ $values { "exemplar" "an exemplar assoc" } { "assoc" linked-assoc } }
|
|
{ $description "Creates an empty linked assoc backed by a new instance of the same type as the exemplar." } ;
|
|
|
|
HELP: >linked-hash
|
|
{ $values { "assoc" assoc } { "assoc'" linked-hash } }
|
|
{ $description "Creates a new " { $link linked-hash } " containing the same elements as 'assoc'. The keys are inserted in the same order as the input assoc, if it has an order." } ;
|
|
|
|
HELP: <linked-hash>
|
|
{ $values { "assoc" linked-assoc } }
|
|
{ $description "Creates an empty linked assoc backed by a hashtable." } ;
|
|
|
|
ARTICLE: "linked-assocs" "Linked assocs"
|
|
"A " { $emphasis "linked assoc" } " is an assoc which combines an underlying assoc with a dlist to form a structure which has the insertion and retrieval characteristics of the underlying assoc (typically a hashtable), but with the ability to get the entries in insertion order by calling " { $link >alist } "."
|
|
$nl
|
|
"Linked assocs are implemented in the " { $vocab-link "linked-assocs" } " vocabulary."
|
|
{ $subsections
|
|
linked-assoc
|
|
<linked-hash>
|
|
<linked-assoc>
|
|
} ;
|
|
|
|
ABOUT: "linked-assocs"
|