destroy_node Subroutine

private impure recursive subroutine destroy_node(me)

destroy the node (and subsequent ones in the list).

Arguments

Type IntentOptional Attributes Name
type(node), pointer :: me

Calls

proc~~destroy_node~~CallsGraph proc~destroy_node destroy_node proc~destroy_node->proc~destroy_node proc~destroy_node_data node%destroy_node_data proc~destroy_node->proc~destroy_node_data

Called by

proc~~destroy_node~~CalledByGraph proc~destroy_node destroy_node proc~destroy_node->proc~destroy_node proc~destroy_list list%destroy_list proc~destroy_list->proc~destroy_node proc~list_finalizer list_finalizer proc~list_finalizer->proc~destroy_list

Source Code

    impure recursive subroutine destroy_node(me)

    implicit none

    type(node),pointer :: me

    if (associated(me)) then
        call me%destroy()
        call destroy_node(me%next)
        nullify(me%previous)
        deallocate(me)
        nullify(me)
    end if

    end subroutine destroy_node