@@ -70,6 +70,7 @@ module stdlib_hashmaps
70
70
! ! Version: Experimental
71
71
! !
72
72
! ! Type implementing an abstract hash map
73
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#the-hashmap_type-abstract-type))
73
74
private
74
75
integer (int_calls) :: call_count = 0
75
76
! ! Number of calls
@@ -158,6 +159,8 @@ subroutine key_test(map, key, present)
158
159
! ! Version: Experimental
159
160
! !
160
161
! ! Returns a logical flag indicating whether KEY exists in the hash map
162
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#key_test-indicates-whether-key-is-present))
163
+ ! !
161
164
! ! Arguments:
162
165
! ! map - the hash map of interest
163
166
! ! key - the key of interest
@@ -173,6 +176,8 @@ pure function loading( map )
173
176
! ! Version: Experimental
174
177
! !
175
178
! ! Returns the number of entries relative to slots in a hash map
179
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#loading-returns-the-ratio-of-entries-to-slots))
180
+ ! !
176
181
! ! Arguments:
177
182
! ! map - a hash map
178
183
import hashmap_type
@@ -184,8 +189,8 @@ subroutine map_entry(map, key, other, conflict)
184
189
! ! Version: Experimental
185
190
! !
186
191
! ! Inserts an entry into the hash table
187
- ! ! Arguments:
188
- !
192
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#map_entry-inserts-an-entry-into-the-hash-map))
193
+ ! !
189
194
import hashmap_type, key_type, other_type
190
195
class(hashmap_type), intent (inout ) :: map
191
196
type (key_type), intent (in ) :: key
@@ -246,6 +251,7 @@ function total_depth( map )
246
251
! !
247
252
! ! Returns the total number of ones based offsets of slot entriesyy from
248
253
! ! their slot index for a hash map
254
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#total_depth-returns-the-total-depth-of-the-hash-map-entries))
249
255
! ! Arguments:
250
256
! ! map - a hash map
251
257
import hashmap_type, int64
@@ -261,6 +267,7 @@ end function total_depth
261
267
! ! Version: Experimental
262
268
! !
263
269
! ! Chaining hash map entry type
270
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#the-chaining_map_entry_type-derived-type))
264
271
private
265
272
integer (int_hash) :: hash_val
266
273
! ! Full hash value
@@ -279,6 +286,7 @@ end function total_depth
279
286
! ! Version: Experimental
280
287
! !
281
288
! ! Wrapper for a pointer to a chaining map entry type object
289
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#the-chaining_map_entry_type_ptr-derived-type))
282
290
type (chaining_map_entry_type), pointer :: target = > null ()
283
291
end type chaining_map_entry_ptr
284
292
@@ -287,6 +295,7 @@ end function total_depth
287
295
! ! Version: Experimental
288
296
! !
289
297
! ! Type implementing a pool of allocated `chaining_map_entry_type`
298
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#the-chaining_map_entry_pool-derived-type))
290
299
private
291
300
! Index of next bucket
292
301
integer (int_index) :: next = 0
@@ -299,6 +308,7 @@ end function total_depth
299
308
! ! Version: Experimental
300
309
! !
301
310
! ! Type implementing the `chaining_hashmap_type` types
311
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#the-chaining_hashmap_type-derived-type))
302
312
private
303
313
type (chaining_map_entry_pool), pointer :: cache = > null ()
304
314
! ! Pool of allocated chaining_map_entry_type objects
@@ -487,6 +497,7 @@ end function total_chaining_depth
487
497
! ! Version: Experimental
488
498
! !
489
499
! ! Open hash map entry type
500
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#the-open_map_entry_type-derived-type))
490
501
private
491
502
integer (int_hash) :: hash_val
492
503
! ! Full hash value
@@ -512,6 +523,7 @@ end function total_chaining_depth
512
523
! ! Version: Experimental
513
524
! !
514
525
! ! Wrapper for a pointer to an open hash map entry type object
526
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#the-open_map_entry_ptr-derived-type))
515
527
type (open_map_entry_type), pointer :: target = > null ()
516
528
end type open_map_entry_ptr
517
529
@@ -720,6 +732,8 @@ pure function calls( map )
720
732
! ! Version: Experimental
721
733
! !
722
734
! ! Returns the number of subroutine calls on an open hash map
735
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#calls-returns-the-number-of-calls-on-the-hash-map))
736
+ ! !
723
737
! ! Arguments:
724
738
! ! map - an open hash map
725
739
class(hashmap_type), intent (in ) :: map
@@ -733,6 +747,8 @@ pure function entries( map )
733
747
! ! Version: Experimental
734
748
! !
735
749
! ! Returns the number of entries in a hash map
750
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#entries-returns-the-number-of-entries-in-the-hash-map))
751
+ ! !
736
752
! ! Arguments:
737
753
! ! map - an open hash map
738
754
class(hashmap_type), intent (in ) :: map
@@ -747,6 +763,8 @@ pure function map_probes( map )
747
763
! ! Version: Experimental
748
764
! !
749
765
! ! Returns the total number of table probes on a hash map
766
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#map_probes-returns-the-number-of-hash-map-probes))
767
+ ! !
750
768
! ! Arguments:
751
769
! ! map - an open hash map
752
770
class(hashmap_type), intent (in ) :: map
@@ -761,6 +779,8 @@ pure function num_slots( map )
761
779
! ! Version: Experimental
762
780
! !
763
781
! ! Returns the number of allocated slots in a hash map
782
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#num_slots-returns-the-number-of-hash-map-slots))
783
+ ! !
764
784
! ! Arguments:
765
785
! ! map - an open hash map
766
786
class(hashmap_type), intent (in ) :: map
@@ -776,6 +796,8 @@ pure function slots_bits( map )
776
796
! !
777
797
! ! Returns the number of bits used to specify the number of allocated
778
798
! ! slots in a hash map
799
+ ! ! ([Specifications](../page/specs/stdlib_hashmaps.html#slots_bits-returns-the-number-of-bits-used-to-address-the-hash-map-slots))
800
+ ! !
779
801
! ! Arguments:
780
802
! ! map - an open hash map
781
803
class(hashmap_type), intent (in ) :: map
0 commit comments