json_file_move_pointer Subroutine

private subroutine json_file_move_pointer(to, from)

Move the json_value pointer from one json_file to another. The "from" pointer is then nullified, but not destroyed.

Arguments

Type IntentOptional AttributesName
class(json_file), intent(inout) :: to
class(json_file), intent(inout) :: from

Contents


Source Code

    subroutine json_file_move_pointer(to,from)

    implicit none

    class(json_file),intent(inout) :: to
    class(json_file),intent(inout) :: from

    if (associated(from%p)) then

        if (from%failed()) then
            !Don't get the data if the FROM file has an
            !active exception, since it may not be valid.
            call to%core%throw_exception('Error in json_file_move_pointer: '//&
                                         'error exception in FROM file.')
        else
            call to%initialize()  !initialize and clear any exceptions that may be present
            to%p => from%p
            nullify(from%p)
        end if

    else
        call to%core%throw_exception('Error in json_file_move_pointer: '//&
                                     'pointer is not associated.')
    end if

    end subroutine json_file_move_pointer