Definition at line 150 of file dc_hash.f90.
◆ dchashput0()
subroutine dc_hash::put::dchashput0 |
( |
type(hash), intent(inout) |
hashv, |
|
|
character(*), intent(in) |
key, |
|
|
character(*), intent(in) |
value |
|
) |
| |
|
private |
Definition at line 181 of file dc_hash.f90.
185 type(
hash),
intent(inout) :: hashv
186 character(*),
intent(in) :: key, value
188 integer :: table_size, new_index, i
190 character(STRING) :: search_value
192 call dchashget(hashv, key, search_value, found)
193 if (.not. found)
then 195 if (table_size > 0)
then 196 allocate(hash_table_tmp(table_size))
197 hash_table_tmp = hashv % hash_table
198 deallocate(hashv % hash_table)
199 allocate(hashv % hash_table(table_size + 1))
200 hashv % hash_table(1:table_size) = hash_table_tmp(1:table_size)
201 deallocate(hash_table_tmp)
202 new_index = table_size + 1
204 allocate(hashv % hash_table(1))
208 hashv % hash_table(new_index) % key = key
209 hashv % hash_table(new_index) % value =
value 211 do i = 1,
size(hashv % hash_table)
212 if (trim(hashv % hash_table(i) % key) == trim(key))
then 213 hashv % hash_table(i) % value =
value
The documentation for this interface was generated from the following file: