Utilities for LEAP. Currently implemented: - Subroutine that creates a directory - Singly-linked lists - Hash table with chaining
Hash table
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(sllist_obj), | public, | allocatable | :: | vec(:) | |||
| integer, | public | :: | vec_len | = | 0 |
| procedure, public :: Finalize => hashtbl_obj_final | |
| procedure, public :: Get => hashtbl_obj_Get | |
| procedure, public, nopass :: HashString => hashtbl_obj_HashString | |
| procedure, public :: Initialize => hashtbl_obj_init | |
| procedure, public :: Put => hashtbl_obj_Put |
Singly-linked list
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(sllist_obj), | public, | pointer | :: | child | => | null() | |
| integer, | public | :: | key | = | -1 | ||
| integer, | public | :: | val | = | -1 |
| procedure, public :: Free => sllist_obj_Free | |
| procedure, public :: Get => sllist_obj_Get | |
| procedure, public :: Put => sllist_obj_Put |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | str |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | dirname |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(hashtbl_obj), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | key | |||
| integer, | intent(out) | :: | val |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(hashtbl_obj), | intent(inout) | :: | this | |||
| integer, | intent(in) | :: | key | |||
| integer, | intent(in) | :: | val |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(hashtbl_obj), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(hashtbl_obj), | intent(inout) | :: | this | |||
| integer, | intent(in) | :: | tbl_len |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(sllist_obj), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(sllist_obj), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | key | |||
| integer, | intent(out) | :: | val |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(sllist_obj), | intent(inout) | :: | this | |||
| integer, | intent(in) | :: | key | |||
| integer, | intent(in) | :: | val |