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
integer,
public
::
i
Source Code
function new_from_array(items,verbose,initial_size)result(this)class(*),target,intent(in)::items(:)logical,optional,intent(in)::verboseinteger,optional,intent(in)::initial_sizetype(vector_ref)::thisinteger::ithis%maximum_size=2*size(items)if(present(initial_size))this%maximum_size=initial_sizeif(present(verbose))thenthis%verbose=verboseend if allocate(this%items(this%maximum_size))do i=lbound(items,1),ubound(items,1)call this%add_item(items(i))end do if(this%verbose)then print*,'created vector_ref (',this%current_size,'/',&this%maximum_size,' elements)'end if end function new_from_array