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 ESMF_BaseDestroyWoGarbage(base,rc)!! !ARGUMENTS:type(ESMF_Base)::baseinteger,intent(out),optional::rc!! !DESCRIPTION:! Release resources held by a Base object.!! \begin{description}! \item [base]! An {\tt ESMF\_Base} derived type to be deleted.! \item [{[rc]}]! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors.! \end{description}!!EOPIlogical::rcpresent! Return code present integer::localrctype(ESMF_Logical)::opt_noGarbage! helper variable! Initialize return codercpresent=.FALSE.if(present(rc))thenrcpresent=.TRUE.rc=ESMF_RC_NOT_IMPLendif! check input parametersESMF_INIT_CHECK_DEEP(ESMF_BaseGetInit,base,rc)! Call into the C++ interfacecall c_ESMC_BaseDestroyWoGarbage(base,localrc)if(ESMF_LogFoundError(localrc,ESMF_ERR_PASSTHRU,&ESMF_CONTEXT,rcToReturn=rc))return! Set init codeESMF_INIT_SET_DELETED(base)! Return successfullyif(present(rc))rc=ESMF_SUCCESSend subroutine ESMF_BaseDestroyWoGarbage