Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(json_value), | intent(inout) | :: | d |
Destroy the data within a json_value, and rest type to json_unknown
.
Solid arrows point from a parent (sub)module to the submodule which is descended from it. Dashed arrows point from a module being used to the module using it.
Solid arrows point from one derived type to another which extends (inherits from) it. Dashed arrows point from a derived type to another type containing it as a components, with a label listing the name(s) of said component(s).
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module.
subroutine destroy_json_data(d)
implicit none
type(json_value),intent(inout) :: d
d%var_type = json_unknown
if (allocated(d%log_value)) deallocate(d%log_value)
if (allocated(d%int_value)) deallocate(d%int_value)
if (allocated(d%dbl_value)) deallocate(d%dbl_value)
if (allocated(d%str_value)) deallocate(d%str_value)
end subroutine destroy_json_data