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 |