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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Source Code
subroutine ProvidedServiceGet(provider_list,advertised_service,bundle,rc)type(ProvidedServiceItemVector),intent(IN)::provider_listcharacter(len=*),intent(IN)::advertised_servicetype(ESMF_FieldBundle),intent(OUT)::bundleinteger,optional,intent(out)::rclogical::foundtype(ProvidedServiceItemVectorIterator)::itertype(ProvidedServiceType),pointer::item_ASSERT(provider_list%size()>0,'provider_list should not be empty')found=.false.iter=provider_list%begin()! loop over provided servicesdo while(iter/=provider_list%end())item=>iter%get()if(item%service_name==advertised_service)thenfound=.true.bundle=item%bundleexit end if end do_ASSERT(found,'No match found for service')call iter%next()_RETURN(_SUCCESS)end subroutine ProvidedServiceGet