base_util_fill_arr_char_string Subroutine

public subroutine base_util_fill_arr_char_string(keeps, inserts, lfill_list)

Performs a fill operation on a single array of type character strings. This is the inverse of a spill operation

Arguments

TypeIntentOptionalAttributesName
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


Called by

proc~~base_util_fill_arr_char_string~~CalledByGraph proc~base_util_fill_arr_char_string base_util_fill_arr_char_string interface~util_fill util_fill interface~util_fill->proc~base_util_fill_arr_char_string

Contents


Source Code

      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