Nodes of different colours represent the following:
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:
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.
Source Code
function input_cmp1d(me,keys)result(return_array)class(input_t),intent(in)::mecharacter(*),intent(in)::keys(:)type(input_t),pointer::return_array(:)class(type_node),pointer::nodeinteger::i,j,nb_cmpnb_cmp=0do i=1,size(keys)node=>me%cmp_by_type%get(trim(keys(i)))if(.not.associated(node))continue select type(node);class is(input_t)nb_cmp=nb_cmp+size(node%cmp_arr)end select enddo allocate(return_array(nb_cmp))nb_cmp=0do i=1,size(keys)node=>me%cmp_by_type%get(trim(keys(i)))if(.not.associated(node))continue select type(node);class is(input_t)do j=1,size(node%cmp_arr)node%cmp_arr(j)%path=trim(keys(i))enddoreturn_array(nb_cmp+1:nb_cmp+size(node%cmp_arr))=node%cmp_arrnb_cmp=nb_cmp+size(node%cmp_arr)end select enddoend function input_cmp1d