The last user's external index in range [1 .. count] (see item and valid_index for example)
may be saved in cache_user otherwise -1 to indicate that the cache is not active.
The buckets storage area is the primary hash table of capacity elements.
To search some key,
the first access is done in buckets using the remainder of the division of the key hash_code
by capacity. In order to try to avoid clashes, capacity is always a prime number (selected
using HASHED_CAPACITY).
Actually, this feature is useful only
when the type of values (the type V_) is a reference type, to avoid using has just
followed by at to get the corresponding value with the very best performances.
If there is as yet no key k in the dictionary,
enter it with item v. Otherwise overwrite the item associated with key k.
As the put procedure actually uses is_equal, you may consider to use fast_put for expanded
objects as well while trying to get the very best performances.
Remove entry k (which may exist or not before this call).
As the remove procedure actually uses is_equal, you may consider to use fast_remove for expanded
objects as well while trying to get the very best performances.
The last user's external index in range [1 .. count] (see item and valid_index for example)
may be saved in cache_user otherwise -1 to indicate that the cache is not active.
When the cache
is active, the corresponding index in buckets is saved in cache_buckets and the corresponding
node in cache_node.
Internal storage capacity of the dictionary is initialized using the
Default_size value. Then, tuning of needed storage capacity is performed automatically
according to usage. If you are really sure that your dictionary is always really bigger than
Default_size, you may consider to use with_capacity to save some execution time.
Internal storage capacity of the dictionary is initialized using the
Default_size value. Then, tuning of needed storage capacity is performed automatically
according to usage. If you are really sure that your dictionary is always really bigger than
Default_size, you may consider to use with_capacity to save some execution time.
May be used to save some execution time if one is sure that storage size will rapidly become
really bigger than Default_size.
When first remove occurs, storage size may naturally become
smaller than medium_size. Afterall, tuning of storage size is done automatically according to
usage.