Performs a fill operation on a single array of type character strings. This is the inverse of a spill operation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=STRMAX), | intent(inout), | dimension(:), allocatable | :: | keeps |
Array of values to keep |
|
| character(len=STRMAX), | intent(in), | dimension(:), allocatable | :: | inserts |
Array of values to insert into keep |
|
| logical, | intent(in), | dimension(:) | :: | lfill_list |
Logical array of bodies to merge into the keeps |
subroutine base_util_fill_arr_char_string(keeps, inserts, lfill_list) !! author: David A. Minton !! !! Performs a fill operation on a single array of type character strings. !! This is the inverse of a spill operation implicit none ! Arguments character(len=STRMAX), dimension(:), allocatable, intent(inout) :: keeps !! Array of values to keep character(len=STRMAX), dimension(:), allocatable, intent(in) :: inserts !! Array of values to insert into keep logical, dimension(:), intent(in) :: lfill_list !! Logical array of bodies to merge into the keeps if (.not.allocated(keeps) .or. .not.allocated(inserts)) return keeps(:) = unpack(keeps(:), .not.lfill_list(:), keeps(:)) keeps(:) = unpack(inserts(:), lfill_list(:), keeps(:)) return end subroutine base_util_fill_arr_char_string