Nodes of different colours represent the following:
Module Graph
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.
Type Graph
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).
Call Graph
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.
Nodes of different colours represent the following:
Module Graph
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.
Type Graph
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).
Call Graph
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.
Variables
Type
Visibility
Attributes
Name
Initial
logical(kind=LK),
public
::
initialized
Subroutines
subroutine get_chars_from_array(element, i, count)
subroutine json_get_string_vec(me,vec)implicit none type(json_value),pointer,intent(in)::mecharacter(kind=CK,len=*),dimension(:),allocatable,intent(out)::veclogical(LK)::initializedinitialized=.false.if(allocated(vec))deallocate(vec)!the callback function is called for each element of the array:call json_get(me,array_callback=get_chars_from_array)contains! callback function for charssubroutine get_chars_from_array(element,i,count)implicit none type(json_value),pointer,intent(in)::elementinteger(IK),intent(in)::i!indexinteger(IK),intent(in)::count!size of arraycharacter(kind=CK,len=:),allocatable::cval!size the output array:if(.not.initialized)then allocate(vec(count))initialized=.true.end if!populate the elements:call json_get(element,value=cval)if(allocated(cval))thenvec(i)=cvaldeallocate(cval)elsevec(i)=''end if end subroutine get_chars_from_arrayend subroutine json_get_string_vec