list_timerenv_pop Function

public function list_timerenv_pop(list) result(value)

Returns the last element in the list and removes it. Is equivialent to: value = list_timerenv_get(list, list_timerenv_size(list)) call list_timerenv_del(list, list_timerenv_size(list))

Arguments

Type IntentOptional Attributes Name
type(list_timerenv_type), intent(inout) :: list

Return Value type(timer_env_type), POINTER


Source Code

FUNCTION list_timerenv_pop(list) RESULT(value)
# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"
   !! Returns the last element in the list and removes it.
# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"
   !! Is equivialent to:
# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"
   !! value = list_timerenv_get(list, list_timerenv_size(list))
# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"
   !! call list_timerenv_del(list, list_timerenv_size(list))
# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"

# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"
    TYPE(list_timerenv_type), intent(inout)  :: list
# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"
    TYPE(timer_env_type), POINTER  :: value
# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"

# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"
    IF(.not. ASSOCIATED(list%arr)) &
# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"
       DBCSR_ABORT("list_timerenv_pop: list is not initialized.")
# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"
    IF(list%size < 1) &
# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"
       DBCSR_ABORT("list_timerenv_pop: list is empty.")
# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"

# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"
    value => list%arr(list%size)%p%value
# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"
    deallocate(list%arr(list%size)%p)
# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"
    list%size = list%size - 1
# 21 "/__w/dbcsr/dbcsr/src/core/dbcsr_list_timerenv.F"
END FUNCTION list_timerenv_pop