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 subroutine add_tag(self,tag)!< Add tag to XML file.class(xml_file),intent(inout)::self!< XML file.type(xml_tag),intent(in)::tag!< XML tag.type(xml_tag),allocatable::tag_new(:)!< New (extended) tags array.if(self%nt>0_I4P)then allocate(tag_new(1:self%nt+1))tag_new(1:self%nt)=self%tag(1:self%nt)tag_new(self%nt+1)=tagelse allocate(tag_new(1:1))tag_new(1)=tagendif call move_alloc(from=tag_new,to=self%tag)self%nt=self%nt+1endsubroutine add_tag