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
character(len=1),
private,
allocatable
::
fresh(:)
integer(kind=default_int),
private
::
i
integer(kind=default_int),
private
::
new_cap
Source Code
subroutine reserve_pool(this,needed)!! Ensure the packed key pool holds at least `needed` characters.class(hash_map_t),intent(inout)::thisinteger(default_int),intent(in)::neededcharacter(len=1),allocatable::fresh(:)integer(default_int)::new_cap,iif(needed<=this%pool_cap)returnnew_cap=max(this%pool_cap,MIN_POOL)do while(new_cap<needed)new_cap=new_cap*2end do allocate(fresh(new_cap))do i=1,this%pool_usedfresh(i)=this%key_pool(i)end do deallocate(this%key_pool)call move_alloc(fresh,this%key_pool)this%pool_cap=new_capend subroutine reserve_pool