Return metadata index for a given layer id, or 0 if absent.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=256), | intent(in) | :: | meta_keys(:) |
Metadata keys list |
||
| integer, | intent(in) | :: | num_meta |
Number of metadata entries and target layer id |
||
| integer, | intent(in) | :: | layer_id |
Number of metadata entries and target layer id |
Index of the found metadata entry, or 0 if not found
function find_metadata_for_layer_id(meta_keys, num_meta, layer_id) result(meta_index) !! Return metadata index for a given layer id, or 0 if absent. implicit none ! Arguments character(256), intent(in) :: meta_keys(:) !! Metadata keys list integer, intent(in) :: num_meta, layer_id !! Number of metadata entries and target layer id integer :: meta_index !! Index of the found metadata entry, or 0 if not found ! Local variables integer :: i, id_tmp !! Loop index and parsed id candidate logical :: found !! Whether a key parsed successfully meta_index = 0 do i = 1, num_meta call parse_meta_layer_id(meta_keys(i), id_tmp, found) if(found .and. id_tmp .eq. layer_id)then meta_index = i return end if end do end function find_metadata_for_layer_id