B.1.4 Finalize_Status_Vector Procedure

The main documentation of the Finalize_Status_Vector Procedure contains additional explanation of this code listing.

  subroutine Finalize_Status_Vector (S)

    ! Input/Output variable.

    ! Status vector to be finalized:
    type(Status_type), dimension(:), intent(inout) :: S  

    ! Internal variable.

    type(integer) :: i  ! Loop counter.

    !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    ! Verify requirements.

    VERIFY(Valid_State(S),1)         ! S is valid.

    ! Finalizations.

    do i = 1, SIZE(S)
      call Finalize (S(i))
    end do

    ! Verify guarantees.

    VERIFY(.not.(Valid_State(S)),1)  ! S is no longer valid.

    return
  end subroutine Finalize_Status_Vector



Michael L. Hall