@@ -117,36 +117,39 @@ module stdlib_hashmaps
117
117
procedure (rehash_map), deferred, pass(map) :: rehash
118
118
procedure (total_depth), deferred, pass(map) :: total_depth
119
119
120
- ! ! Generic interfaces for key types .
120
+ ! ! Key_test procedures .
121
121
procedure (key_key_test), deferred, pass(map) :: key_key_test
122
122
procedure , non_overridable, pass(map) :: int8_key_test
123
123
procedure , non_overridable, pass(map) :: int32_key_test
124
124
procedure , non_overridable, pass(map) :: char_key_test
125
+ generic, public :: key_test = > key_key_test, int8_key_test, int32_key_test, char_key_test
125
126
127
+ ! Map_entry procedures
126
128
procedure (key_map_entry), deferred, pass(map) :: key_map_entry
127
129
procedure , non_overridable, pass(map) :: int8_map_entry
128
130
procedure , non_overridable, pass(map) :: int32_map_entry
129
131
procedure , non_overridable, pass(map) :: char_map_entry
132
+ generic, public :: map_entry = > key_map_entry, int8_map_entry, int32_map_entry, char_map_entry
130
133
134
+ ! Get_other_data procedures
131
135
procedure (key_get_other_data), deferred, pass(map) :: key_get_other_data
132
136
procedure , non_overridable, pass(map) :: int8_get_other_data
133
137
procedure , non_overridable, pass(map) :: int32_get_other_data
134
138
procedure , non_overridable, pass(map) :: char_get_other_data
139
+ generic, public :: get_other_data = > key_get_other_data, int8_get_other_data, int32_get_other_data, char_get_other_data
135
140
141
+ ! Key_remove_entry procedures
136
142
procedure (key_remove_entry), deferred, pass(map) :: key_remove_entry
137
143
procedure , non_overridable, pass(map) :: int8_remove_entry
138
144
procedure , non_overridable, pass(map) :: int32_remove_entry
139
145
procedure , non_overridable, pass(map) :: char_remove_entry
146
+ generic, public :: remove = > key_remove_entry, int8_remove_entry, int32_remove_entry, char_remove_entry
140
147
148
+ ! Set_other_data procedures
141
149
procedure (key_set_other_data), deferred, pass(map) :: key_set_other_data
142
150
procedure , non_overridable, pass(map) :: int8_set_other_data
143
151
procedure , non_overridable, pass(map) :: int32_set_other_data
144
152
procedure , non_overridable, pass(map) :: char_set_other_data
145
-
146
- generic, public :: key_test = > key_key_test, int8_key_test, int32_key_test, char_key_test
147
- generic, public :: map_entry = > key_map_entry, int8_map_entry, int32_map_entry, char_map_entry
148
- generic, public :: get_other_data = > key_get_other_data, int8_get_other_data, int32_get_other_data, char_get_other_data
149
- generic, public :: remove = > key_remove_entry, int8_remove_entry, int32_remove_entry, char_remove_entry
150
153
generic, public :: set_other_data = > key_set_other_data, int8_set_other_data, int32_set_other_data, char_set_other_data
151
154
152
155
end type hashmap_type
0 commit comments