Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(json_value), | intent(in), | optional | pointer | :: | p |
|
Cast a json_value object as a json_file object
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.
function initialize_json_file(p) result(file_object)
implicit none
type(json_value),pointer,optional,intent(in) :: p !! `json_value` object to cast
!! as a `json_file` object
type(json_file) :: file_object
if (present(p)) file_object%p => p
end function initialize_json_file