MOVE_ALLOC — Move allocation from one object to another

Description

MOVE_ALLOC(FROM, TO) moves the allocation from FROM to TO. FROM will become deallocated in the process.

Syntax

CALL MOVE_ALLOC(FROM, TO)

Arguments

FROM ALLOCATABLE, INTENT(INOUT), may be of any type and kind.
TO ALLOCATABLE, INTENT(OUT), shall be of the same type, kind and rank as FROM.

Return value

None

Example


program test_move_alloc
    integer, allocatable :: a(:), b(:)

    allocate(a(3))
    a = [ 1, 2, 3 ]
    call move_alloc(a, b)
    print *, allocated(a), allocated(b)
    print *, b
end program test_move_alloc

Standard

Fortran 2003 and later

Class

Pure subroutine