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.
Source Code
elemental function sscan_string_character(self,set,back)result(i)!< Return the leftmost (if `back` is either absent or equals false, otherwise the rightmost) character of string that is in `set`.!<!<```fortran!< type(string) :: string1!< logical :: test_passed(2)!< string1 = 'Hello World Hello!'!< test_passed(1) = string1%scan(set='llo')==scan(string='Hello World Hello!', set='llo')!< test_passed(2) = string1%scan(set='llo', back=.true.)==scan(string='Hello World Hello!', set='llo', back=.true.)!< print '(L1)', all(test_passed)!<```!=> T <<<class(string),intent(in)::self!< The string.character(kind=CK,len=*),intent(in)::set!< Searched set.logical,intent(in),optional::back!< Start of the last occurrence rather than the first.integer::i!< Result of the search.if(allocated(self%raw))theni=scan(string=self%raw,set=set,back=back)elsei=0endif endfunction sscan_string_character