A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.lispworks.com/documentation/lw71/LW/html/lw-667.htm below:

set-hash-table-weak

Arguments

hash-table

A hash-table.

weak

Sets the weakness state of hash-table. Value may be:

:value or t -- An entry is kept if there is a pointer to the value from another object.

:key -- An entry is kept if there is a pointer to the key from another object.

:both -- An entry is kept if there are pointers to both the key and the value.

:one or :either -- An entry is kept if there is a pointer to either the key or the value.

nil -- Make the hash-table non-weak. All entries are kept.

free-function

A designator for a function of two arguments.

Description

By default, hash-tables are not weak, which means that they keep alive all the keys and the values in the table.

A weak hash-table allows entries to be removed if there are no other pointers to them. The weakness-state tells the system which entries may be removed like this.

Entries that can be removed are removed after a garbage collector (GC) operation which identifies that they can be removed. This means that if the relevant object(s) (the key or the value) have been promoted to a higher generation, a garbage collection (GC) of the higher generation is required to remove them from the table. Note that by default the system does not automatically GC the blocking generation or higher.

The weakness-state of a hash-table can be changed repeatedly, at any time, at any point using any of the weak values listed above. It can also be set by make-hash-table.

free-function can be supplied to specify a free function as described for make-hash-table. It has no effect if weak-kind is nil.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4