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
::
iunit
integer,
public
::
istat
integer,
public
::
filesize
Source Code
subroutine read_file(filename,str)!! Reads the contents of the file into the allocatable string str.!! If there are any problems, str will be returned unallocated.!!!!@warning Will this routine work if the file contains unicode characters??implicit nonecharacter(len=*),intent(in)::filenamecharacter(len=:),allocatable,intent(out)::strinteger::iunit,istat,filesizeopen(newunit=iunit,&file=filename,&status='OLD',&form='UNFORMATTED',&access='STREAM',&iostat=istat)if(istat==0)then inquire(file=filename,size=filesize)if(filesize>0)then allocate(character(len=filesize)::str)read(iunit,pos=1,iostat=istat)strif(istat/=0)deallocate(str)close(iunit,iostat=istat)end if end if end subroutine read_file