dbcsr_list_timerenv Module



Derived Types

type, private ::  private_item_type_timerenv

Components

Type Visibility Attributes Name Initial
type(timer_env_type), private, POINTER :: value

type, private ::  private_item_p_type_timerenv

Components

Type Visibility Attributes Name Initial
type(private_item_type_timerenv), private, POINTER :: p => Null()

type, public ::  list_timerenv_type

Components

Type Visibility Attributes Name Initial
type(private_item_p_type_timerenv), private, DIMENSION(:), POINTER :: arr => Null()
integer, private :: size = -1

Functions

public function list_timerenv_isready(list) result(res)

Test if the given list has been initialized.

Arguments

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

Return Value logical

public function list_timerenv_peek(list) result(value)

Returns the last element in the list. Is equivalent to: list_timerenv_get(list, list_timerenv_size(list))

Arguments

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

Return Value type(timer_env_type), POINTER

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

public function list_timerenv_get(list, pos) result(value)

Returns the value at the given position from the list.

Arguments

Type IntentOptional Attributes Name
type(list_timerenv_type), intent(in) :: list
integer, intent(in) :: pos

Position in the list - must fulfill 0 < pos < list_size+1 .

Return Value type(timer_env_type), POINTER

public function list_timerenv_size(list) result(size)

Returns the current size of the list.

Arguments

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

Return Value integer


Subroutines

public subroutine list_timerenv_init(list, initial_capacity)

Allocates the internal data-structures of the given list. This has to be called before any of the other routines. For deallocation call list_[valuetype]_destroy.

Arguments

Type IntentOptional Attributes Name
type(list_timerenv_type), intent(inout) :: list
integer, intent(in), optional :: initial_capacity

The initial size of the internal array (default=11).

public subroutine list_timerenv_destroy(list)

Deallocated the internal data-structures of the given list. Caution: If the stored values are pointers, their targets will not get deallocated by this routine.

Arguments

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

public subroutine list_timerenv_set(list, value, pos)

Assings the given value to the given position in the list. Thereby, the former value at that position gets overwritten. If the position is out of bounds, the program stops.

Arguments

Type IntentOptional Attributes Name
type(list_timerenv_type), intent(inout) :: list
type(timer_env_type), intent(in), POINTER :: value
integer, intent(in) :: pos

Position in the list - must fulfill 0 < pos < list_size+1.

public subroutine list_timerenv_push(list, value)

Appends the given value at the end of the list.

Arguments

Type IntentOptional Attributes Name
type(list_timerenv_type), intent(inout) :: list
type(timer_env_type), intent(in), POINTER :: value

public subroutine list_timerenv_insert(list, value, pos)

Inserts the given value at the given position within the list. Values which lay behind the insertion-position move one position up.

Arguments

Type IntentOptional Attributes Name
type(list_timerenv_type), intent(inout) :: list
type(timer_env_type), intent(in), POINTER :: value
integer, intent(in) :: pos

Position in the list - must fulfill 0 < pos < list_size+2 .

public subroutine list_timerenv_clear(list)

Removes all values from the list. The list itself is not deallocated.

Arguments

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

public subroutine list_timerenv_del(list, pos)

Removes the value at the given position from the list.

Arguments

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

Position in the list - must fulfill 0 < pos < list_size+1 .

private subroutine change_capacity_timerenv(list, new_capacity)

Internal routine for changing the size of the internal array.

Arguments

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