Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(out), | optional | :: | rc |
function ESMF_RouteHandleCreateDef(rc) ! ! !RETURN VALUE: type(ESMF_RouteHandle) :: ESMF_RouteHandleCreateDef ! ! !ARGUMENTS: integer, intent(out), optional :: rc ! ! !DESCRIPTION: ! Allocates memory for a new {\tt ESMF\_RouteHandle} object and ! constructs its internals. ! ! The arguments are: ! \begin{description} ! \item[{[rc]}] ! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. ! \end{description} ! !EOPI !------------------------------------------------------------------------------ integer :: localrc ! local return code type(ESMF_RouteHandle) :: rhandle ! initialize return code; assume routine not implemented localrc = ESMF_RC_NOT_IMPL if (present(rc)) rc = ESMF_RC_NOT_IMPL rhandle%this = ESMF_NULL_POINTER ESMF_RouteHandleCreateDef = rhandle ! Call C++ create code call c_ESMC_RouteHandleCreate(rhandle, localrc) if (ESMF_LogFoundError(localrc, & ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return ! Set return values ESMF_RouteHandleCreateDef = rhandle ESMF_INIT_SET_CREATED(ESMF_RouteHandleCreateDef) ! Return successfully if (present(rc)) rc = ESMF_SUCCESS end function ESMF_RouteHandleCreateDef