An array-based list which grows on demand. When the internal array is full, a new array of twice the size will be allocated and the items are copied over. This list can also be used as a stack. Have look at list_push(), list_pop() and list_peek().
Note
it's not possible to put all templates in a single module because this would lead to circular dependencies (timer_env_type contains list_routinestat_type and list_callstackentry_type, and list_timerenv_type contains timer_env_type)
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=*), | private, | parameter | :: | moduleN | = | 'dbcsr_list' |
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.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_timerenv_type), | intent(inout) | :: | list | |||
| integer, | intent(in), | optional | :: | initial_capacity |
The initial size of the internal array (default=11). |
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.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinestat_type), | intent(inout) | :: | list | |||
| integer, | intent(in), | optional | :: | initial_capacity |
The initial size of the internal array (default=11). |
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.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinereport_type), | intent(inout) | :: | list | |||
| integer, | intent(in), | optional | :: | initial_capacity |
The initial size of the internal array (default=11). |
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.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_callstackentry_type), | intent(inout) | :: | list | |||
| integer, | intent(in), | optional | :: | initial_capacity |
The initial size of the internal array (default=11). |
Test if the given list has been initialized.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_timerenv_type), | intent(in) | :: | list |
Test if the given list has been initialized.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinestat_type), | intent(in) | :: | list |
Test if the given list has been initialized.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinereport_type), | intent(in) | :: | list |
Test if the given list has been initialized.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_callstackentry_type), | intent(in) | :: | list |
Appends the given value at the end of the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_timerenv_type), | intent(inout) | :: | list | |||
| type(timer_env_type), | intent(in), | POINTER | :: | value |
Appends the given value at the end of the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinestat_type), | intent(inout) | :: | list | |||
| type(routine_stat_type), | intent(in), | POINTER | :: | value |
Appends the given value at the end of the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinereport_type), | intent(inout) | :: | list | |||
| type(routine_report_type), | intent(in), | POINTER | :: | value |
Appends the given value at the end of the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_callstackentry_type), | intent(inout) | :: | list | |||
| type(callstack_entry_type), | intent(in) | :: | 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))
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_timerenv_type), | intent(inout) | :: | list |
Returns the last element in the list and removes it. Is equivialent to: value = list_routinestat_get(list, list_routinestat_size(list)) call list_routinestat_del(list, list_routinestat_size(list))
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinestat_type), | intent(inout) | :: | list |
Returns the last element in the list and removes it. Is equivialent to: value = list_routinereport_get(list, list_routinereport_size(list)) call list_routinereport_del(list, list_routinereport_size(list))
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinereport_type), | intent(inout) | :: | list |
Returns the last element in the list and removes it. Is equivialent to: value = list_callstackentry_get(list, list_callstackentry_size(list)) call list_callstackentry_del(list, list_callstackentry_size(list))
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_callstackentry_type), | intent(inout) | :: | list |
Returns the last element in the list. Is equivalent to: list_timerenv_get(list, list_timerenv_size(list))
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_timerenv_type), | intent(inout) | :: | list |
Returns the last element in the list. Is equivalent to: list_routinestat_get(list, list_routinestat_size(list))
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinestat_type), | intent(inout) | :: | list |
Returns the last element in the list. Is equivalent to: list_routinereport_get(list, list_routinereport_size(list))
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinereport_type), | intent(inout) | :: | list |
Returns the last element in the list. Is equivalent to: list_callstackentry_get(list, list_callstackentry_size(list))
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_callstackentry_type), | intent(inout) | :: | list |
Inserts the given value at the given position within the list. Values which lay behind the insertion-position move one position up.
| Type | Intent | Optional | 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 . |
Inserts the given value at the given position within the list. Values which lay behind the insertion-position move one position up.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinestat_type), | intent(inout) | :: | list | |||
| type(routine_stat_type), | intent(in), | POINTER | :: | value | ||
| integer, | intent(in) | :: | pos |
Position in the list - must fulfill 0 < pos < list_size+2 . |
Inserts the given value at the given position within the list. Values which lay behind the insertion-position move one position up.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinereport_type), | intent(inout) | :: | list | |||
| type(routine_report_type), | intent(in), | POINTER | :: | value | ||
| integer, | intent(in) | :: | pos |
Position in the list - must fulfill 0 < pos < list_size+2 . |
Inserts the given value at the given position within the list. Values which lay behind the insertion-position move one position up.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_callstackentry_type), | intent(inout) | :: | list | |||
| type(callstack_entry_type), | intent(in) | :: | value | |||
| integer, | intent(in) | :: | pos |
Position in the list - must fulfill 0 < pos < list_size+2 . |
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.
| Type | Intent | Optional | 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. |
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.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinestat_type), | intent(inout) | :: | list | |||
| type(routine_stat_type), | intent(in), | POINTER | :: | value | ||
| integer, | intent(in) | :: | pos |
Position in the list - must fulfill 0 < pos < list_size+1. |
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.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinereport_type), | intent(inout) | :: | list | |||
| type(routine_report_type), | intent(in), | POINTER | :: | value | ||
| integer, | intent(in) | :: | pos |
Position in the list - must fulfill 0 < pos < list_size+1. |
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.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_callstackentry_type), | intent(inout) | :: | list | |||
| type(callstack_entry_type), | intent(in) | :: | value | |||
| integer, | intent(in) | :: | pos |
Position in the list - must fulfill 0 < pos < list_size+1. |
Returns the value at the given position from the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_timerenv_type), | intent(in) | :: | list | |||
| integer, | intent(in) | :: | pos |
Position in the list - must fulfill 0 < pos < list_size+1 . |
Returns the value at the given position from the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinestat_type), | intent(in) | :: | list | |||
| integer, | intent(in) | :: | pos |
Position in the list - must fulfill 0 < pos < list_size+1 . |
Returns the value at the given position from the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinereport_type), | intent(in) | :: | list | |||
| integer, | intent(in) | :: | pos |
Position in the list - must fulfill 0 < pos < list_size+1 . |
Returns the value at the given position from the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_callstackentry_type), | intent(in) | :: | list | |||
| integer, | intent(in) | :: | pos |
Position in the list - must fulfill 0 < pos < list_size+1 . |
Removes the value at the given position from the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_timerenv_type), | intent(inout) | :: | list | |||
| integer, | intent(in) | :: | pos |
Position in the list - must fulfill 0 < pos < list_size+1 . |
Removes the value at the given position from the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinestat_type), | intent(inout) | :: | list | |||
| integer, | intent(in) | :: | pos |
Position in the list - must fulfill 0 < pos < list_size+1 . |
Removes the value at the given position from the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinereport_type), | intent(inout) | :: | list | |||
| integer, | intent(in) | :: | pos |
Position in the list - must fulfill 0 < pos < list_size+1 . |
Removes the value at the given position from the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_callstackentry_type), | intent(inout) | :: | list | |||
| integer, | intent(in) | :: | pos |
Position in the list - must fulfill 0 < pos < list_size+1 . |
Removes all values from the list. The list itself is not deallocated.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_timerenv_type), | intent(inout) | :: | list |
Removes all values from the list. The list itself is not deallocated.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinestat_type), | intent(inout) | :: | list |
Removes all values from the list. The list itself is not deallocated.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinereport_type), | intent(inout) | :: | list |
Removes all values from the list. The list itself is not deallocated.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_callstackentry_type), | intent(inout) | :: | list |
Returns the current size of the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_timerenv_type), | intent(in) | :: | list |
Returns the current size of the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinestat_type), | intent(in) | :: | list |
Returns the current size of the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinereport_type), | intent(in) | :: | list |
Returns the current size of the list.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_callstackentry_type), | intent(in) | :: | 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.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_timerenv_type), | intent(inout) | :: | 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.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinestat_type), | intent(inout) | :: | 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.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_routinereport_type), | intent(inout) | :: | 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.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(list_callstackentry_type), | intent(inout) | :: | list |