input_dump_dict Subroutine

private recursive subroutine input_dump_dict(self, unit, indent)

Type Bound

input_t

Arguments

Type IntentOptional Attributes Name
class(input_t), intent(in) :: self
integer, intent(in) :: unit
integer, intent(in) :: indent

Calls

proc~~input_dump_dict~~CallsGraph proc~input_dump_dict input_t%input_dump_dict dump dump proc~input_dump_dict->dump

Source Code

recursive subroutine input_dump_dict(self,unit,indent)
    class(input_t), intent(in) :: self
    integer, intent(in) :: unit, indent
    integer :: i
    type(type_key_value_pair),pointer :: pair
    if (associated(self%cmp_by_type%first)) then
        write(unit,*) '----------------- Components by type -------------------'
    endif
    pair=>self%cmp_by_type%first
    do while(associated(pair))
        select type(arr=>pair%value);class is(input_t)
            write(unit,'(a,i4,a)')'>>',size(arr%cmp_arr), &
                ' components of type "'//pair%key//'"'
            do i=1,size(arr%cmp_arr)
                write(unit,'(a)',advance='NO') '  - '
                call arr%cmp_arr(i)%dump(unit,indent+4)
            enddo
        end select
        pair=>pair%next
    enddo
    if (associated(self%cmp_by_type%first)) then
        write(unit,*) '------------------ Main dictionary ---------------------'
    endif
    call self%root%dump(unit,indent)
end subroutine input_dump_dict