公共数据类型 用于参数化 David Chase 的经验 SLOT 扩展代码 API,用于 chaining_hashmap_type
用于 open_hashmap_type 的 API
类型 | 可见性 | 属性 | 名称 | 初始 | |||
---|---|---|---|---|---|---|---|
integer, | public, | parameter | :: | alloc_fault | = | 1 | |
integer, | public, | parameter | :: | array_size_error | = | 2 | |
integer, | public, | parameter | :: | default_bits | = | 6 |
用于参数化哈希映射及其过程的 KIND 值 |
integer, | public, | parameter | :: | int_calls | = | int64 |
哈希映射过程返回的错误代码 |
integer, | public, | parameter | :: | int_depth | = | int64 |
哈希映射过程返回的错误代码 |
integer, | public, | parameter | :: | int_index | = | int32 |
哈希映射过程返回的错误代码 |
integer, | public, | parameter | :: | int_probes | = | int64 |
哈希映射过程返回的错误代码 |
real, | public, | parameter | :: | load_factor | = | 0.5625 |
分配的映射条目池的大小 |
integer, | public, | parameter | :: | max_bits | = | 30 |
用于参数化哈希映射及其过程的 KIND 值 |
integer, | public, | parameter | :: | success | = | 0 |
实现 chaining_hashmap_type
类型的类型 (规范)
final :: free_chaining_map |
procedure, public, non_overridable, pass(map) :: calls | |
procedure, public, non_overridable, pass(map) :: char_get_other_data | |
procedure, public, non_overridable, pass(map) :: char_key_test | |
procedure, public, non_overridable, pass(map) :: char_map_entry | |
procedure, public, non_overridable, pass(map) :: char_remove_entry | |
procedure, public, non_overridable, pass(map) :: char_set_other_data | |
procedure, public, non_overridable, pass(map) :: entries | |
procedure, public :: get_all_keys => get_all_chaining_keys | |
generic, public :: get_other_data => key_get_other_data, int8_get_other_data, int32_get_other_data, char_get_other_data | |
procedure, public :: init => init_chaining_map | |
procedure, public, non_overridable, pass(map) :: int32_get_other_data | |
procedure, public, non_overridable, pass(map) :: int32_key_test | |
procedure, public, non_overridable, pass(map) :: int32_map_entry | |
procedure, public, non_overridable, pass(map) :: int32_remove_entry | |
procedure, public, non_overridable, pass(map) :: int32_set_other_data | |
procedure, public, non_overridable, pass(map) :: int8_get_other_data | |
procedure, public, non_overridable, pass(map) :: int8_key_test | |
procedure, public, non_overridable, pass(map) :: int8_map_entry | |
procedure, public, non_overridable, pass(map) :: int8_remove_entry | |
procedure, public, non_overridable, pass(map) :: int8_set_other_data | |
procedure, public :: key_get_other_data => get_other_chaining_data | |
procedure, public :: key_key_test => chaining_key_test | |
procedure, public :: key_map_entry => map_chain_entry | |
procedure, public :: key_remove_entry => remove_chaining_entry | |
procedure, public :: key_set_other_data => set_other_chaining_data | |
generic, public :: key_test => key_key_test, int8_key_test, int32_key_test, char_key_test | |
procedure, public :: loading => chaining_loading | |
generic, public :: map_entry => key_map_entry, int8_map_entry, int32_map_entry, char_map_entry | |
procedure, public, non_overridable, pass(map) :: map_probes | |
procedure, public, non_overridable, pass(map) :: num_slots | |
procedure, public :: rehash => rehash_chaining_map | |
generic, public :: remove => key_remove_entry, int8_remove_entry, int32_remove_entry, char_remove_entry | |
generic, public :: set_other_data => key_set_other_data, int8_set_other_data, int32_set_other_data, char_set_other_data | |
procedure, public, non_overridable, pass(map) :: slots_bits | |
procedure, public :: total_depth => total_chaining_depth |
实现抽象哈希映射的类型 (规范)
procedure, public, non_overridable, pass(map) :: calls | |
procedure, public, non_overridable, pass(map) :: char_get_other_data | |
procedure, public, non_overridable, pass(map) :: char_key_test | |
procedure, public, non_overridable, pass(map) :: char_map_entry | |
procedure, public, non_overridable, pass(map) :: char_remove_entry | |
procedure, public, non_overridable, pass(map) :: char_set_other_data | |
procedure, public, non_overridable, pass(map) :: entries | |
procedure(get_all_keys), public, deferred, pass(map) :: get_all_keys | |
generic, public :: get_other_data => key_get_other_data, int8_get_other_data, int32_get_other_data, char_get_other_data | |
procedure(init_map), public, deferred, pass(map) :: init | |
procedure, public, non_overridable, pass(map) :: int32_get_other_data | |
procedure, public, non_overridable, pass(map) :: int32_key_test | |
procedure, public, non_overridable, pass(map) :: int32_map_entry | |
procedure, public, non_overridable, pass(map) :: int32_remove_entry | |
procedure, public, non_overridable, pass(map) :: int32_set_other_data | |
procedure, public, non_overridable, pass(map) :: int8_get_other_data | |
procedure, public, non_overridable, pass(map) :: int8_key_test | |
procedure, public, non_overridable, pass(map) :: int8_map_entry | |
procedure, public, non_overridable, pass(map) :: int8_remove_entry | |
procedure, public, non_overridable, pass(map) :: int8_set_other_data | |
procedure(key_get_other_data), public, deferred, pass(map) :: key_get_other_data | |
procedure(key_key_test), public, deferred, pass(map) :: key_key_test | |
procedure(key_map_entry), public, deferred, pass(map) :: key_map_entry | |
procedure(key_remove_entry), public, deferred, pass(map) :: key_remove_entry | |
procedure(key_set_other_data), public, deferred, pass(map) :: key_set_other_data | |
generic, public :: key_test => key_key_test, int8_key_test, int32_key_test, char_key_test | |
procedure(loading), public, deferred, pass(map) :: loading | |
generic, public :: map_entry => key_map_entry, int8_map_entry, int32_map_entry, char_map_entry | |
procedure, public, non_overridable, pass(map) :: map_probes | |
procedure, public, non_overridable, pass(map) :: num_slots | |
procedure(rehash_map), public, deferred, pass(map) :: rehash | |
generic, public :: remove => key_remove_entry, int8_remove_entry, int32_remove_entry, char_remove_entry | |
generic, public :: set_other_data => key_set_other_data, int8_set_other_data, int32_set_other_data, char_set_other_data | |
procedure, public, non_overridable, pass(map) :: slots_bits | |
procedure(total_depth), public, deferred, pass(map) :: total_depth | ../../ Key_test 过程。 |
实现“开放”哈希映射的类型
final :: free_open_map |
procedure, public, non_overridable, pass(map) :: calls | |
procedure, public, non_overridable, pass(map) :: char_get_other_data | |
procedure, public, non_overridable, pass(map) :: char_key_test | |
procedure, public, non_overridable, pass(map) :: char_map_entry | |
procedure, public, non_overridable, pass(map) :: char_remove_entry | |
procedure, public, non_overridable, pass(map) :: char_set_other_data | |
procedure, public, non_overridable, pass(map) :: entries | |
procedure, public :: get_all_keys => get_all_open_keys | |
泛型, 公共 :: get_other_data => key_get_other_data, int8_get_other_data, int32_get_other_data, char_get_other_data | |
过程, 公共 :: init => init_open_map | |
procedure, public, non_overridable, pass(map) :: int32_get_other_data | |
procedure, public, non_overridable, pass(map) :: int32_key_test | |
procedure, public, non_overridable, pass(map) :: int32_map_entry | |
procedure, public, non_overridable, pass(map) :: int32_remove_entry | |
procedure, public, non_overridable, pass(map) :: int32_set_other_data | |
procedure, public, non_overridable, pass(map) :: int8_get_other_data | |
procedure, public, non_overridable, pass(map) :: int8_key_test | |
procedure, public, non_overridable, pass(map) :: int8_map_entry | |
procedure, public, non_overridable, pass(map) :: int8_remove_entry | |
procedure, public, non_overridable, pass(map) :: int8_set_other_data | |
过程, 公共 :: key_get_other_data => get_other_open_data | |
过程, 公共 :: key_key_test => open_key_test | |
过程, 公共 :: key_map_entry => map_open_entry | |
过程, 公共 :: key_remove_entry => remove_open_entry | |
过程, 公共 :: key_set_other_data => set_other_open_data | |
泛型, 公共 :: key_test => key_key_test, int8_key_test, int32_key_test, char_key_test | |
过程, 公共 :: loading => open_loading | |
泛型, 公共 :: map_entry => key_map_entry, int8_map_entry, int32_map_entry, char_map_entry | |
procedure, public, non_overridable, pass(map) :: map_probes | |
procedure, public, non_overridable, pass(map) :: num_slots | |
过程, 公共 :: rehash => rehash_open_map | |
泛型, 公共 :: remove => key_remove_entry, int8_remove_entry, int32_remove_entry, char_remove_entry | |
泛型, 公共 :: set_other_data => key_set_other_data, int8_set_other_data, int32_set_other_data, char_set_other_data | |
procedure, public, non_overridable, pass(map) :: slots_bits | |
过程, 公共 :: total_depth => total_open_depth |