duplicate_graph Module Function

module function duplicate_graph(this) result(output_ptr)

Arguments

Type IntentOptional Attributes Name
class(array_type), intent(inout) :: this

Return Value type(array_type), pointer


Source Code

  module function duplicate_graph(this) result(output_ptr)
    implicit none
    class(array_type), intent(inout) :: this
    type(array_ptr), allocatable :: src_map(:), dst_map(:)
    type(array_type), pointer :: output_ptr
    logical :: tmp_logical

    output_ptr => duplicate_pointer(this, src_map, dst_map, tmp_logical)
    output_ptr%is_temporary = .true.

    ! Clean up the maps
    call map_free(src_map)
    call map_free(dst_map)

  end function duplicate_graph