truncate_ga_stringkeyvaluepair Subroutine

private subroutine truncate_ga_stringkeyvaluepair(me)

Arguments

Type IntentOptional Attributes Name
type(grw_stringkeyvaluepairarray_type) :: me

Called by

proc~~truncate_ga_stringkeyvaluepair~~CalledByGraph proc~truncate_ga_stringkeyvaluepair truncate_ga_stringkeyvaluepair interface~truncate~19 truncate interface~truncate~19->proc~truncate_ga_stringkeyvaluepair

Contents


Source Code

  subroutine truncate_ga_stringkeyvaluepair(me)
    !------------------------------------------------------------------------
    type(grw_stringkeyvaluepairarray_type) :: me !< array to truncate
    !------------------------------------------------------------------------
    type(tem_stringkeyvaluepair_type), allocatable :: tarray(:)
    !------------------------------------------------------------------------
    integer :: ii
    !------------------------------------------------------------------------

    ! nothing to do if container size is not larger than the number of values
    ! in the array.
    if (me%containersize > me%nvals) then
      allocate(tarray(me%nvals))
      do ii = 1, me%nvals
        tarray(ii) = me%val(ii)
      end do
      call move_alloc(tarray, me%val)
      me%containersize = me%nvals
    end if

  end subroutine truncate_ga_stringkeyvaluepair