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.
Variables
Type
Visibility
Attributes
Name
Initial
integer(kind=default_int),
private
::
hit
integer(kind=default_int),
private
::
i_part
integer(kind=default_int),
private
::
len_delim
integer(kind=default_int),
private
::
n_parts
integer(kind=default_int),
private
::
pos
Source Code
pure function split_char_char(string,delimiter)result(parts)!! Split a character string on a character delimiter.character(len=*),intent(in)::stringcharacter(len=*),intent(in)::delimitertype(string_type),allocatable::parts(:)integer(default_int)::n_parts,len_delim,pos,hit,i_partlen_delim=len(delimiter)if(len_delim==0)then allocate(parts(1))parts(1)=string_type(string)return end ifn_parts=1pos=1dohit=index(string(pos:),delimiter)if(hit==0)exitn_parts=n_parts+1pos=pos+hit-1+len_delimend do allocate(parts(n_parts))pos=1do i_part=1,n_parts-1hit=index(string(pos:),delimiter)parts(i_part)=string_type(string(pos:pos+hit-2))pos=pos+hit-1+len_delimend doparts(n_parts)=string_type(string(pos:))end function split_char_char