stdlib_hashmaps#

See also the specification page: stdlib_hashmap_wrappers and stdlib_hashmaps.

stdlib_hashmaps (module)#

Public data_types Values that parameterize David Chase’s empirical SLOT expansion code API for the chaining_hashmap_type

API for the open_hashmap_type

Variables

default_bitsinteger, parameter, Default = 6

KIND values used to parameterixe the hash map and its procedures

max_bitsinteger, parameter, Default = 30

KIND values used to parameterixe the hash map and its procedures

int_callsinteger, parameter, Default = int64

Error codes returned by the hash map procedures

int_depthinteger, parameter, Default = int64

Error codes returned by the hash map procedures

int_indexinteger, parameter, Default = int32

Error codes returned by the hash map procedures

int_probesinteger, parameter, Default = int64

Error codes returned by the hash map procedures

successinteger, parameter, Default = 0
alloc_faultinteger, parameter, Default = 1
array_size_errorinteger, parameter, Default = 2
load_factorreal, parameter, Default = 0.5625

The size of the pools of allocated map entries

Types

chaining_hashmap_type (type)#

chaining_hashmap_type (type)

Type implementing the chaining_hashmap_type types (Specifications: stdlib_hashmap_wrappers and stdlib_hashmaps)

Procedures:
  • get_all_keys => get_all_chaining_keys

  • key_get_other_data => get_other_chaining_data

  • init => init_chaining_map

  • loading => chaining_loading

  • key_map_entry => map_chain_entry

  • rehash => rehash_chaining_map

  • key_remove_entry => remove_chaining_entry

  • key_set_other_data => set_other_chaining_data

  • total_depth => total_chaining_depth

  • key_key_test => chaining_key_test

open_hashmap_type (type)#

open_hashmap_type (type)

Type implementing an “open” hash map

Procedures:
  • get_all_keys => get_all_open_keys

  • key_get_other_data => get_other_open_data

  • init => init_open_map

  • loading => open_loading

  • key_map_entry => map_open_entry

  • rehash => rehash_open_map

  • key_remove_entry => remove_open_entry

  • key_set_other_data => set_other_open_data

  • total_depth => total_open_depth

  • key_key_test => open_key_test