MONC
|
Collection data structures. More...
Data Types | |
interface | c_add_generic |
Adds a generic element to the end of the list. More... | |
interface | c_add_integer |
Adds an integer element to the end of the list. More... | |
interface | c_add_logical |
Adds a logical element to the end of the list. More... | |
interface | c_add_real |
Adds a double precision real element to the end of the list. More... | |
interface | c_add_string |
Adds a string to the end of the list. More... | |
interface | c_contains |
Determines whether or not a map contains a specific key. More... | |
interface | c_free |
Frees up all the allocatable, heap, memory associated with a list, stack, queue or map. More... | |
interface | c_generic_at |
Retrieves the generic value held at the specific map index or null if index > map elements. More... | |
interface | c_generic_entry_at |
Retrieves a map entry at a specific index or null if index > map elements. This is more efficient than calling key at and then value at (or get with the key) as only requires one search for both the key and value. More... | |
interface | c_get_generic |
Gets a specific generic element out of the list, stack, queue or map with the corresponding key. More... | |
interface | c_get_integer |
Gets a specific integer element out of the list, stack, queue or map with the corresponding key. More... | |
interface | c_get_iterator |
interface | c_get_logical |
Gets a specific logical element out of the list, stack, queue or map with the corresponding key. More... | |
interface | c_get_real |
Gets a specific double precision real element out of the list, stack, queue or map with the corresponding key. More... | |
interface | c_get_string |
Gets a specific string element out of the list, stack, queue or map with the corresponding key. More... | |
interface | c_has_next |
interface | c_insert_generic |
Inserts a generic element into the list or places at the end if the index > list size. More... | |
interface | c_insert_integer |
Inserts an integer element into the list or places at the end if the index > list size. More... | |
interface | c_insert_logical |
Inserts a logical element into the list or places at the end if the index > list size. More... | |
interface | c_insert_real |
Inserts a double precision real element into the list or places at the end if the index > list size. More... | |
interface | c_insert_string |
Inserts a string into the list or places at the end if the index > list size. More... | |
interface | c_integer_at |
Retrieves the integer value held at the specific map index or null if index > map elements. More... | |
interface | c_integer_entry_at |
Retrieves a map entry at a specific index. This is more efficient than calling key at and then value at (or get with the key) as only requires one search for both the key and value. More... | |
interface | c_is_empty |
Returns whether a collection is empty. More... | |
interface | c_key_at |
Retrieves the key currently being held at a specific index in the map or "" if the index > map elements. More... | |
interface | c_logical_at |
Retrieves the logical value held at the specific map index or null if index > map elements. More... | |
interface | c_logical_entry_at |
Retrieves a map entry at a specific index. This is more efficient than calling key at and then value at (or get with the key) as only requires one search for both the key and value. More... | |
interface | c_next_generic |
interface | c_next_integer |
interface | c_next_logical |
interface | c_next_mapentry |
interface | c_next_real |
interface | c_next_string |
interface | c_pop_generic |
Pops a generic element off the stack or queue. More... | |
interface | c_pop_integer |
Pops an integer element off the stack or queue. More... | |
interface | c_pop_logical |
Pops a logical element off the stack or queue. More... | |
interface | c_pop_real |
Pops a double precision real element off the stack or queue. More... | |
interface | c_pop_string |
Pops a string off the stack or queue. More... | |
interface | c_push_generic |
Pushes a generic element onto the stack or queue. More... | |
interface | c_push_integer |
Pushes an integer element onto the stack or queue. More... | |
interface | c_push_logical |
Pushes a logical element onto the stack or queue. More... | |
interface | c_push_real |
Pushes a double precision real element onto the stack or queue. More... | |
interface | c_push_string |
Pushes a string element onto the stack or queue. More... | |
interface | c_put_generic |
Puts a generic key-value pair into the map. More... | |
interface | c_put_integer |
Puts an integer key-value pair into the map. More... | |
interface | c_put_logical |
Puts a logical key-value pair into the map. More... | |
interface | c_put_real |
Puts a double precision real key-value pair into the map. More... | |
interface | c_put_string |
Puts a string key-value pair into the map. More... | |
interface | c_real_at |
Retrieves the double precision real value held at the specific map index or null if index > map elements. More... | |
interface | c_real_entry_at |
Retrieves a map entry at a specific index. This is more efficient than calling key at and then value at (or get with the key) as only requires one search for both the key and value. More... | |
interface | c_remove |
Removes a specific element from the list or map. More... | |
interface | c_size |
Returns the number of elements in the collection. More... | |
interface | c_string_at |
Retrieves the string value held at the specific map index or null if index > map elements. More... | |
interface | c_string_entry_at |
Retrieves a map entry at a specific index. This is more efficient than calling key at and then value at (or get with the key) as only requires one search for both the key and value. More... | |
type | hashmap_type |
A hashmap structure, the same as a map but uses hashing for greatly improved performance when storing large numbers of entries, with the lookup complexisty being almost constant (assuming good hash distribution.) Note that this does require more storage than a map and unlike a map does not preserve ordering. More... | |
type | hashset_type |
Hashset structure which will store unique strings. The hashing aspect means that lookup is very fast but it does add extra memory overhead and the order is non-deterministic. More... | |
type | iterator_type |
type | list_type |
List data structure which implements a doubly linked list. This list will preserve its order. More... | |
type | listnode_type |
Private list node which holds the raw generic node data and pointers to next and previous list nodes. More... | |
type | map_type |
Map data structure that holds string (length 20 maximum) key value pairs. More... | |
type | mapentry_type |
type | mapnode_type |
Private map key-value pair data structure. More... | |
type | queue_type |
Queue (FIFO) data structure. More... | |
type | setnode_type |
Private set key structure. More... | |
type | stack_type |
Stack (FILO) data structure. More... | |
Functions/Subroutines | |
type(iterator_type) function | map_get_iterator (specificmap) |
Retrieves an iterator representation of the map, ready to access the first element. More... | |
subroutine | map_put_int (specificmap, key, int_data) |
Puts a specific key-value pair into the map. More... | |
subroutine | map_put_string (specificmap, key, str_data) |
Puts a specific key-value pair into the map. More... | |
subroutine | map_put_real (specificmap, key, real_data) |
Puts a specific key-value pair into the map. More... | |
subroutine | map_put_logical (specificmap, key, logical_data) |
Puts a specific key-value pair into the map. More... | |
subroutine | map_put_generic (specificmap, key, data, memory_allocation_automatic) |
Puts a specific key-value pair into the map. More... | |
logical function | map_contains_key (specificmap, key) |
Determines whether or not a map contains a specific key. More... | |
character(len=string_length) function | map_key_at (specificmap, i) |
Retrieves the key currently being held at a specific index in the map or "" if the index > map elements. More... | |
integer function | map_integer_at (specificmap, i) |
Retrieves the integer value held at the specific map index. More... | |
character(len=string_length) function | map_string_at (specificmap, i) |
Retrieves the string value held at the specific map index. More... | |
real(kind=default_precision) function | map_real_at (specificmap, i) |
Retrieves the real value held at the specific map index. Converts between precision and int. More... | |
logical function | map_logical_at (specificmap, i) |
Retrieves the logical value held at the specific map index. More... | |
class(*) function, pointer | map_generic_at (specificmap, i) |
Retrieves the generic value held at the specific map index or null if index > map elements. More... | |
logical function | map_integer_entry_at (specificmap, i, key, int_val) |
Retrieves the entry at a specific map index or null if index > map elements. More... | |
logical function | map_string_entry_at (specificmap, i, key, str_val) |
Retrieves the entry at a specific map index or null if index > map elements. More... | |
logical function | map_real_entry_at (specificmap, i, key, real_val) |
Retrieves the entry at a specific map index or null if index > map elements. This converts precision and from ints. More... | |
logical function | map_logical_entry_at (specificmap, i, key, logical_val) |
Retrieves the entry at a specific map index or null if index > map elements. More... | |
logical function | map_generic_entry_at (specificmap, i, key, val) |
Retrieves the entry at a specific map index or null if index > map elements. More... | |
subroutine | map_remove (specificmap, key) |
Removes a specific key-value pair from the map. More... | |
integer function | map_get_int (specificmap, key) |
Gets a specific element out of the map with the corresponding key. More... | |
character(len=string_length) function | map_get_string (specificmap, key) |
Gets a specific element out of the map with the corresponding key. More... | |
real(kind=default_precision) function | map_get_real (specificmap, key) |
Gets a specific element out of the map with the corresponding key. This converts between precision and from ints. More... | |
logical function | map_get_logical (specificmap, key) |
Gets a specific element out of the map with the corresponding key. More... | |
class(*) function, pointer | map_get_generic (specificmap, key) |
Gets a specific element out of the map with the corresponding key. More... | |
class(*) function, pointer | map_getnode (specificmap, key, foundindex) |
This gets the map node that the key represents (rather than the specific value) More... | |
integer function | map_size (specificmap) |
Returns the number of elements in the map. More... | |
logical function | map_is_empty (specificmap) |
Returns whether a map is empty. More... | |
subroutine | map_free (specificmap) |
Frees up all the allocatable, heap, memory associated with a specific map. More... | |
type(iterator_type) function | hashmap_get_iterator (specificmap) |
Retrieves an iterator representation of the hashmap, ready to access the first element. More... | |
subroutine | hashmap_put_int (specificmap, key, int_data) |
Puts a specific key-value pair into the hashmap. More... | |
subroutine | hashmap_put_string (specificmap, key, str_data) |
Puts a specific key-value pair into the hashmap. More... | |
subroutine | hashmap_put_real (specificmap, key, real_data) |
Puts a specific key-value pair into the hashmap. More... | |
subroutine | hashmap_put_logical (specificmap, key, logical_data) |
Puts a specific key-value pair into the hashmap. More... | |
subroutine | hashmap_put_generic (specificmap, key, data, memory_allocation_automatic) |
Puts a specific key-value pair into the hashmap. More... | |
logical function | hashmap_contains_key (specificmap, key) |
Determines whether or not a hashmap contains a specific key. More... | |
character(len=string_length) function | hashmap_key_at (specificmap, i) |
Retrieves the key currently being held at a specific index in the hashmap or "" if the index > map elements. Note that this is an expensive operation has it has to potentially process all internal hashed lists so avoid if can. More... | |
integer function | hashmap_integer_at (specificmap, i) |
Retrieves the value held at the specific hashmap index. Note that this is an expensive operation has it has to potentially process all internal hashed lists so avoid if can. More... | |
character(len=string_length) function | hashmap_string_at (specificmap, i) |
Retrieves the value held at the specific hashmap index. Note that this is an expensive operation has it has to potentially process all internal hashed lists so avoid if can. More... | |
integer function | hashmap_real_at (specificmap, i) |
Retrieves the value held at the specific hashmap index. Converts between precision and from int. Note that this is an expensive operation has it has to potentially process all internal hashed lists so avoid if can. More... | |
logical function | hashmap_logical_at (specificmap, i) |
Retrieves the value held at the specific hashmap index. Note that this is an expensive operation has it has to potentially process all internal hashed lists so avoid if can. More... | |
class(*) function, pointer | hashmap_generic_at (specificmap, i) |
Retrieves the value held at the specific hashmap index or null if index > map elements. Note that this is an expensive operation has it has to potentially process all internal hashed lists so avoid if can. More... | |
logical function | hashmap_integer_entry_at (specificmap, i, key, int_val) |
Retrieves the entry at a specific map index. More... | |
logical function | hashmap_string_entry_at (specificmap, i, key, str_val) |
Retrieves the entry at a specific map index. More... | |
logical function | hashmap_real_entry_at (specificmap, i, key, real_val) |
Retrieves the entry at a specific map index. This converts between precision and from int. More... | |
logical function | hashmap_logical_entry_at (specificmap, i, key, logical_val) |
Retrieves the entry at a specific map index. More... | |
logical function | hashmap_generic_entry_at (specificmap, i, key, val) |
Retrieves the entry at a specific map index or null if index > map elements. More... | |
subroutine | hashmap_remove (specificmap, key) |
Removes a specific key-value pair from the hashmap. More... | |
integer function | hashmap_get_int (specificmap, key) |
Gets a specific element out of the hashmap with the corresponding key. More... | |
character(len=string_length) function | hashmap_get_string (specificmap, key) |
Gets a specific element out of the hashmap with the corresponding key. More... | |
real(kind=default_precision) function | hashmap_get_real (specificmap, key) |
Gets a specific element out of the hashmap with the corresponding key. Converts between precision and from int. More... | |
logical function | hashmap_get_logical (specificmap, key) |
Gets a specific element out of the hashmap with the corresponding key. More... | |
class(*) function, pointer | hashmap_get_generic (specificmap, key) |
Gets a specific element out of the hashmap with the corresponding key. More... | |
class(*) function, pointer | hashmap_getnode (specificmap, key, key_location) |
This gets the hashmap node that the key represents (rather than the specific value) More... | |
class(*) function, pointer | hashmap_getnode_atindex (specificmap, index) |
This gets the hashmap node at a specific index, from the first hash linked list to the end. More... | |
integer function | hashmap_size (specificmap) |
Returns the number of elements in the hashmap. More... | |
logical function | hashmap_is_empty (specificmap) |
Returns whether a hashmap is empty. More... | |
subroutine | hashmap_free (specificmap) |
Frees up all the allocatable, heap, memory associated with a specific hashmap. More... | |
type(iterator_type) function | hashset_get_iterator (specificset) |
Retrieves an iterator representation of the hashset, ready to access the first element. More... | |
subroutine | hashset_add (specificset, key) |
Adds a string to the hashset which stores unique strings, therefore if the string already exists then this is ignored. More... | |
subroutine | hashset_remove (specificset, key) |
Removes a string from the hashset. More... | |
logical function | hashset_contains (specificset, key) |
Determines wheter the hashset contains a specific key or not. More... | |
subroutine | hashset_getlocation (specificset, key, hash, key_location) |
Determines the location and hash of a key within a specific hashset. The hash is set regardless of whether the key is found (assuming the set data structure is allocated) and corresponds to the entry in the hash table. The location is set if the key is found and is the entry in the linked list of a specific hash table entry. This is zero if no key is in the hash set. More... | |
logical function | hashset_is_empty (specificset) |
Determines whether or not the hashset is empty. More... | |
character(len=string_length) function | hashset_get_string (specificset, index) |
Retrieves the key at index i from the set or empty string if index < list size. More... | |
subroutine | hashset_free (specificset) |
Frees up all the allocatable, heap, memory associated with a specific set. More... | |
integer function | hashset_size (specificset) |
Returns the number of elements in a list. More... | |
integer function | get_hashkey (key) |
Translates the string key into a hash from 1 to hash_size (inclusive.) This encoding is deterministic, so will result in the same hash for a key on multiple calls and is therefore used as the basis of our hashing collections. More... | |
type(iterator_type) function | stack_get_iterator (specificstack) |
Retrieves an iterator representation of the stack, ready to access the first element. More... | |
subroutine | stack_push_int (specificstack, int_data) |
Pushes an element onto the stack (LIFO) More... | |
subroutine | stack_push_string (specificstack, str_data) |
Pushes an element onto the stack (LIFO) More... | |
subroutine | stack_push_real (specificstack, real_data) |
Pushes an element onto the stack (LIFO) More... | |
subroutine | stack_push_logical (specificstack, logical_data) |
Pushes an element onto the stack (LIFO) More... | |
subroutine | stack_push_generic (specificstack, data, memory_allocation_automatic) |
Pushes an element onto the stack (LIFO) More... | |
integer function | stack_pop_int (specificstack) |
Pops an element off the stack (LIFO) More... | |
character(len=string_length) function | stack_pop_string (specificstack) |
Pops an element off the stack (LIFO) More... | |
real(kind=default_precision) function | stack_pop_real (specificstack) |
Pops an element off the stack (LIFO). Converts between precision and from int. More... | |
logical function | stack_pop_logical (specificstack) |
Pops an element off the stack (LIFO) More... | |
class(*) function, pointer | stack_pop_generic (specificstack) |
Pops an element off the stack (LIFO) More... | |
integer function | stack_get_int (specificstack, i) |
Gets a specific element from the stack at index specified. More... | |
character(len=string_length) function | stack_get_string (specificstack, i) |
Gets a specific element from the stack at index specified. More... | |
real(kind=default_precision) function | stack_get_real (specificstack, i) |
Gets a specific element from the stack at index specified. Converts between precision and from int. More... | |
logical function | stack_get_logical (specificstack, i) |
Gets a specific element from the stack at index specified. More... | |
class(*) function, pointer | stack_get_generic (specificstack, i) |
Gets a specific element from the stack at index specified or null if the index > stack size. More... | |
integer function | stack_size (specificstack) |
Returns the number of elements held on the stack. More... | |
logical function | stack_is_empty (specificstack) |
Returns whether a stack is empty. More... | |
subroutine | stack_free (specificstack) |
Frees up all the allocatable, heap, memory associated with a specific stack. More... | |
type(iterator_type) function | queue_get_iterator (specificqueue) |
Retrieves an iterator representation of the queue, ready to access the first element. More... | |
subroutine | queue_push_int (specificqueue, int_data) |
Adds an element to the end of the queue (FIFO) More... | |
subroutine | queue_push_string (specificqueue, str_data) |
Adds an element to the end of the queue (FIFO) More... | |
subroutine | queue_push_real (specificqueue, real_data) |
Adds an element to the end of the queue (FIFO) More... | |
subroutine | queue_push_logical (specificqueue, logical_data) |
Adds an element to the end of the queue (FIFO) More... | |
subroutine | queue_push_generic (specificqueue, data, memory_allocation_automatic) |
Adds an element to the end of the queue (FIFO) More... | |
integer function | queue_pop_int (specificqueue) |
Pops the queue element off the head of the queue (FIFO) More... | |
character(len=string_length) function | queue_pop_string (specificqueue) |
Pops the queue element off the head of the queue (FIFO) More... | |
real(kind=default_precision) function | queue_pop_real (specificqueue) |
Pops the queue element off the head of the queue (FIFO). Converts between precision and from int. More... | |
logical function | queue_pop_logical (specificqueue) |
Pops the queue element off the head of the queue (FIFO) More... | |
class(*) function, pointer | queue_pop_generic (specificqueue) |
Pops the queue element off the head of the queue (FIFO) More... | |
integer function | queue_get_int (specificqueue, i) |
Returns a specific queue element at an index. More... | |
character(len=string_length) function | queue_get_string (specificqueue, i) |
Returns a specific queue element at an index. More... | |
real(kind=default_precision) function | queue_get_real (specificqueue, i) |
Returns a specific queue element at an index. Converts between precision and from int. More... | |
logical function | queue_get_logical (specificqueue, i) |
Returns a specific queue element at an index. More... | |
class(*) function, pointer | queue_get_generic (specificqueue, i) |
Returns a specific queue element at an index or null if index > queue size. More... | |
integer function | queue_size (specificqueue) |
Returns the number of elements held in a queue. More... | |
logical function | queue_is_empty (specificqueue) |
Returns whether a queue is empty. More... | |
subroutine | queue_free (specificqueue) |
Frees up all the allocatable, heap, memory associated with a specific queue. More... | |
type(iterator_type) function | list_get_iterator (specificlist) |
Retrieves an iterator representation of the list, ready to access the first element. More... | |
subroutine | list_insert_int (specificlist, int_data, i) |
Inserts an element into the list or places at the end if the index > list size. More... | |
subroutine | list_insert_string (specificlist, str_data, i) |
Inserts an element into the list or places at the end if the index > list size. More... | |
subroutine | list_insert_real (specificlist, real_data, i) |
Inserts an element into the list or places at the end if the index > list size. More... | |
subroutine | list_insert_logical (specificlist, logical_data, i) |
Inserts an element into the list or places at the end if the index > list size. More... | |
subroutine | list_insert_generic (specificlist, data, i, memory_allocation_automatic) |
Inserts an element into the list or places at the end if the index > list size. More... | |
subroutine | list_add_int (specificlist, int_data) |
Adds an element to the end of the list. More... | |
subroutine | list_add_string (specificlist, str_data) |
Adds an element to the end of the list. More... | |
subroutine | list_add_real (specificlist, real_data) |
Adds an element to the end of the list. More... | |
subroutine | list_add_logical (specificlist, logical_data) |
Adds an element to the end of the list. More... | |
subroutine | list_add_generic (specificlist, data, memory_allocation_automatic) |
Adds an element to the end of the list. More... | |
subroutine | list_remove (specificlist, i) |
Removes an element from the list at a specific index. More... | |
logical function | list_is_empty (specificlist) |
Determines whether or not the list is empty. More... | |
integer function | list_get_int (specificlist, i) |
Retrieves the element at index i from the list. More... | |
character(len=string_length) function | list_get_string (specificlist, i) |
Retrieves the element at index i from the list. More... | |
real(kind=default_precision) function | list_get_real (specificlist, i) |
Retrieves the element at index i from the list. Converts between precision and from int. More... | |
logical function | list_get_logical (specificlist, i) |
Retrieves the element at index i from the list. More... | |
class(*) function, pointer | list_get_generic (specificlist, i) |
Retrieves the element at index i from the list or null if index < list size. More... | |
subroutine | list_free (specificlist) |
Frees up all the allocatable, heap, memory associated with a specific list. More... | |
integer function | list_size (specificlist) |
Returns the number of elements in a list. More... | |
logical function | iteratior_has_next (iterator) |
Deduces whether an iterator has a next entry or not. More... | |
integer function | iterator_get_next_integer (iterator) |
Returns the next integer referenced by the iterator and advanced it, or an error if it has reached the end of iteration. More... | |
character(len=string_length) function | iterator_get_next_string (iterator) |
Returns the next string referenced by the iterator and advanced it, or an error if it has reached the end of iteration. More... | |
real(kind=default_precision) function | iterator_get_next_real (iterator) |
Returns the next real (double precision) referenced by the iterator and advanced it, or an error if it has reached the end of iteration. More... | |
logical function | iterator_get_next_logical (iterator) |
Returns the next logical referenced by the iterator and advanced it, or an error if it has reached the end of iteration. More... | |
type(mapentry_type) function | iterator_get_next_mapentry (iterator) |
Returns the next mapentry referenced by the iterator and advanced it, or an error if it has reached the end of iteration or the next item was not a mapentry. More... | |
class(*) function, pointer | iterator_get_next_generic (iterator) |
Returns the next generic referenced by the iterator and advanced it, or null if it has reached the end of iteration. More... | |
integer function | mapentry_get_int (mapentry_item) |
Retrieves the integer value from a map entry. More... | |
character(len=string_length) function | mapentry_get_string (mapentry_item) |
Retrieves the string value from a map entry. More... | |
real(kind=default_precision) function | mapentry_get_real (mapentry_item) |
Retrieves the double precision real value from a map entry. More... | |
logical function | mapentry_get_logical (mapentry_item) |
Retrieves the logical value from a map entry. More... | |
class(*) function, pointer | mapentry_get_generic (mapentry_item) |
Retrieves the generic value from a map entry. More... | |
Variables | |
integer, parameter, private | hash_size = 4993 |
Number of entries in the hash table, this is a tradeoff - larger means more memory but smaller runtime assuming a hashing function with good distribution. More... | |
Collection data structures.
The collections utilities which provide common collection structures for different components of MONC. Currently a list, map, stack and queue all with appropriate functionality are provided. The core of all collections is currently a doubly linked list, this is abstracted to allow for the internal structure of collections to change without requiring any user code modifications.
|
private |
Translates the string key into a hash from 1 to hash_size (inclusive.) This encoding is deterministic, so will result in the same hash for a key on multiple calls and is therefore used as the basis of our hashing collections.
key | The key to find the hash code for |
Definition at line 2161 of file collections.F90.
|
private |
Determines whether or not a hashmap contains a specific key.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | The key we are looking up |
Definition at line 1403 of file collections.F90.
|
private |
Frees up all the allocatable, heap, memory associated with a specific hashmap.
This basically acts like a clear operation and once freed the data structure can be reused Note that it does not free the value at all as this might be referenced else where in the code Do not call directly from external module, this is called via the appropriate interface
specificmap | The hashmap to delete all members and free all allocated memory of |
Definition at line 1892 of file collections.F90.
|
private |
Retrieves the value held at the specific hashmap index or null if index > map elements. Note that this is an expensive operation has it has to potentially process all internal hashed lists so avoid if can.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific hashmap involved |
i | Index to get value from |
Definition at line 1528 of file collections.F90.
|
private |
Retrieves the entry at a specific map index or null if index > map elements.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | Index to get value from |
key | The associated key |
value | Generic pointer to corresponding value |
Definition at line 1640 of file collections.F90.
|
private |
Gets a specific element out of the hashmap with the corresponding key.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific hashmap involved |
key | Look up key |
Definition at line 1774 of file collections.F90.
|
private |
Gets a specific element out of the hashmap with the corresponding key.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific hashmap involved |
key | Look up key |
Definition at line 1695 of file collections.F90.
|
private |
Retrieves an iterator representation of the hashmap, ready to access the first element.
specificmap | Specific collection to base this iterator on |
Definition at line 1255 of file collections.F90.
|
private |
Gets a specific element out of the hashmap with the corresponding key.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific hashmap involved |
key | Look up key |
Definition at line 1756 of file collections.F90.
|
private |
Gets a specific element out of the hashmap with the corresponding key. Converts between precision and from int.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific hashmap involved |
key | Look up key |
Definition at line 1731 of file collections.F90.
|
private |
Gets a specific element out of the hashmap with the corresponding key.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific hashmap involved |
key | Look up key |
Definition at line 1713 of file collections.F90.
|
private |
This gets the hashmap node that the key represents (rather than the specific value)
It allows us to twiddle with map properties but also grab the value out too Optionally provides us with the list index that the specific node was found at
specificmap | The specific hashmap involved |
key | Lookup key |
foundindex | (Optional) index where the node is currently held (in that hash list) |
Definition at line 1798 of file collections.F90.
|
private |
This gets the hashmap node at a specific index, from the first hash linked list to the end.
specificmap | The specific hashmap involved |
index | Index to locate at |
Definition at line 1842 of file collections.F90.
|
private |
Retrieves the value held at the specific hashmap index. Note that this is an expensive operation has it has to potentially process all internal hashed lists so avoid if can.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific hashmap involved |
i | Index to get value from |
Definition at line 1445 of file collections.F90.
|
private |
Retrieves the entry at a specific map index.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | Index to get value from |
key | The associated key |
value | Integer value or raises an error if none is found |
Definition at line 1553 of file collections.F90.
|
private |
Returns whether a hashmap is empty.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific hashmap involved |
Definition at line 1880 of file collections.F90.
|
private |
Retrieves the key currently being held at a specific index in the hashmap or "" if the index > map elements. Note that this is an expensive operation has it has to potentially process all internal hashed lists so avoid if can.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific hashmap involved |
i | The index to retrieve the key from |
Definition at line 1420 of file collections.F90.
|
private |
Retrieves the value held at the specific hashmap index. Note that this is an expensive operation has it has to potentially process all internal hashed lists so avoid if can.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific hashmap involved |
i | Index to get value from |
Definition at line 1509 of file collections.F90.
|
private |
Retrieves the entry at a specific map index.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | Index to get value from |
key | The associated key |
value | Logical value or raises an error if none is found |
Definition at line 1620 of file collections.F90.
|
private |
Puts a specific key-value pair into the hashmap.
If the key is not already held in the hashmap then the key-value pair will be added, otherwise the existing key-value pair will be modified to hold this updated value (keys must be unique). This uses a hashing function for performance Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | The key to place in the map |
data | Pointer to the generic data value to place in the map |
memory_allocation_automatic | Whether the collections API should manage the freeing of memory |
Definition at line 1364 of file collections.F90.
|
private |
Puts a specific key-value pair into the hashmap.
If the key is not already held in the hashmap then the key-value pair will be added, otherwise the existing key-value pair will be modified to hold this updated value (keys must be unique). This uses a hashing function for performance Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | The key to place in the map |
data | Integer data value to place in the map |
Definition at line 1283 of file collections.F90.
|
private |
Puts a specific key-value pair into the hashmap.
If the key is not already held in the hashmap then the key-value pair will be added, otherwise the existing key-value pair will be modified to hold this updated value (keys must be unique). This uses a hashing function for performance Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | The key to place in the map |
data | Logical data value to place in the map |
Definition at line 1343 of file collections.F90.
|
private |
Puts a specific key-value pair into the hashmap.
If the key is not already held in the hashmap then the key-value pair will be added, otherwise the existing key-value pair will be modified to hold this updated value (keys must be unique). This uses a hashing function for performance Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | The key to place in the map |
data | Double precision real data value to place in the map |
Definition at line 1323 of file collections.F90.
|
private |
Puts a specific key-value pair into the hashmap.
If the key is not already held in the hashmap then the key-value pair will be added, otherwise the existing key-value pair will be modified to hold this updated value (keys must be unique). This uses a hashing function for performance Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | The key to place in the map |
data | String data value to place in the map |
Definition at line 1303 of file collections.F90.
|
private |
Retrieves the value held at the specific hashmap index. Converts between precision and from int. Note that this is an expensive operation has it has to potentially process all internal hashed lists so avoid if can.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific hashmap involved |
i | Index to get value from |
Definition at line 1483 of file collections.F90.
|
private |
Retrieves the entry at a specific map index. This converts between precision and from int.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | Index to get value from |
key | The associated key |
value | Double precision realvalue or raises an error if none is found |
Definition at line 1593 of file collections.F90.
|
private |
Removes a specific key-value pair from the hashmap.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific hashmap involved |
key | Key of the key-value pair to remove from the map |
Definition at line 1667 of file collections.F90.
|
private |
Returns the number of elements in the hashmap.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific hashmap involved |
Definition at line 1869 of file collections.F90.
|
private |
Retrieves the value held at the specific hashmap index. Note that this is an expensive operation has it has to potentially process all internal hashed lists so avoid if can.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific hashmap involved |
i | Index to get value from |
Definition at line 1464 of file collections.F90.
|
private |
Retrieves the entry at a specific map index.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | Index to get value from |
key | The associated key |
value | String value or raises an error if none is found |
Definition at line 1573 of file collections.F90.
|
private |
Adds a string to the hashset which stores unique strings, therefore if the string already exists then this is ignored.
Do not call directly from external module, this is called via the appropriate interface
specificset | The specific set involved |
key | The string key to add to the set |
Definition at line 1958 of file collections.F90.
|
private |
Determines wheter the hashset contains a specific key or not.
specificset | The specific set involved |
key | The string key to test for |
Definition at line 2005 of file collections.F90.
|
private |
Frees up all the allocatable, heap, memory associated with a specific set.
This basically acts like a clear operation and once freed the data structure can be reused Note that it does not free the data memory at all as this might be referenced else where in the code Do not call directly from external module, this is called via the appropriate interface
specificset | The set to delete all members and free all allocated memory of |
Definition at line 2114 of file collections.F90.
|
private |
Retrieves an iterator representation of the hashset, ready to access the first element.
specificset | Specific collection to base this iterator on |
Definition at line 1933 of file collections.F90.
|
private |
Retrieves the key at index i from the set or empty string if index < list size.
Do not call directly from external module, this is called via the appropriate interface
specificset | The specific set involved |
i | Index to look up |
Definition at line 2078 of file collections.F90.
|
private |
Determines the location and hash of a key within a specific hashset. The hash is set regardless of whether the key is found (assuming the set data structure is allocated) and corresponds to the entry in the hash table. The location is set if the key is found and is the entry in the linked list of a specific hash table entry. This is zero if no key is in the hash set.
specificset | The specific set involved |
key | The string key to locate |
hash | The hash code of the key |
key_location | Key location (relative to the hash table entry) or zero if no key is found |
Definition at line 2023 of file collections.F90.
|
private |
Determines whether or not the hashset is empty.
Do not call directly from external module, this is called via the appropriate interface
specificset | The specific set involved |
Definition at line 2066 of file collections.F90.
|
private |
Removes a string from the hashset.
Do not call directly from external module, this is called via the appropriate interface
specificset | The specific ste involved |
key | The string key to remove |
Definition at line 1987 of file collections.F90.
|
private |
Returns the number of elements in a list.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
Definition at line 2151 of file collections.F90.
|
private |
Deduces whether an iterator has a next entry or not.
iterator | The iterator to test upon |
Definition at line 3184 of file collections.F90.
|
private |
Returns the next generic referenced by the iterator and advanced it, or null if it has reached the end of iteration.
iterator | The iterator of which to access and advance the next element |
Definition at line 3294 of file collections.F90.
|
private |
Returns the next integer referenced by the iterator and advanced it, or an error if it has reached the end of iteration.
iterator | The iterator of which to access and advance the next element |
Definition at line 3193 of file collections.F90.
|
private |
Returns the next logical referenced by the iterator and advanced it, or an error if it has reached the end of iteration.
iterator | The iterator of which to access and advance the next element |
Definition at line 3254 of file collections.F90.
|
private |
Returns the next mapentry referenced by the iterator and advanced it, or an error if it has reached the end of iteration or the next item was not a mapentry.
iterator | The iterator of which to access and advance the next element |
Definition at line 3271 of file collections.F90.
|
private |
Returns the next real (double precision) referenced by the iterator and advanced it,
or an error if it has reached the end of iteration.
iterator | The iterator of which to access and advance the next element |
Definition at line 3231 of file collections.F90.
|
private |
Returns the next string referenced by the iterator and advanced it, or an error if it has reached the end of iteration.
iterator | The iterator of which to access and advance the next element |
Definition at line 3209 of file collections.F90.
|
private |
Adds an element to the end of the list.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
data | Pointer to the generic data to add |
memory_allocation_automatic | Whether the collections API should manage the freeing of memory |
Definition at line 2963 of file collections.F90.
|
private |
Adds an element to the end of the list.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
data | Integer data to add |
Definition at line 2902 of file collections.F90.
|
private |
Adds an element to the end of the list.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
data | Logical data to add |
Definition at line 2947 of file collections.F90.
|
private |
Adds an element to the end of the list.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
data | Double precision real data to add |
Definition at line 2932 of file collections.F90.
|
private |
Adds an element to the end of the list.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
data | String data to add |
Definition at line 2917 of file collections.F90.
|
private |
Frees up all the allocatable, heap, memory associated with a specific list.
This basically acts like a clear operation and once freed the data structure can be reused Note that it does not free the data memory at all as this might be referenced else where in the code Do not call directly from external module, this is called via the appropriate interface
specificlist | The list to delete all members and free all allocated memory of |
Definition at line 3145 of file collections.F90.
|
private |
Retrieves the element at index i from the list or null if index < list size.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
i | Index to look up |
Definition at line 3117 of file collections.F90.
|
private |
Retrieves the element at index i from the list.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
i | Index to look up |
Definition at line 3038 of file collections.F90.
|
private |
Retrieves an iterator representation of the list, ready to access the first element.
specificlist | Specific collection to base this iterator on |
Definition at line 2768 of file collections.F90.
|
private |
Retrieves the element at index i from the list.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
i | Index to look up |
Definition at line 3099 of file collections.F90.
|
private |
Retrieves the element at index i from the list. Converts between precision and from int.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
i | Index to look up |
Definition at line 3074 of file collections.F90.
|
private |
Retrieves the element at index i from the list.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
i | Index to look up |
Definition at line 3056 of file collections.F90.
|
private |
Inserts an element into the list or places at the end if the index > list size.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
data | Pointer to the generic data to insert |
i | The list index to insert to |
Definition at line 2849 of file collections.F90.
|
private |
Inserts an element into the list or places at the end if the index > list size.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
data | Integer data to insert |
i | The list index to insert to |
Definition at line 2782 of file collections.F90.
|
private |
Inserts an element into the list or places at the end if the index > list size.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
data | Logical data to insert |
i | The list index to insert to |
Definition at line 2832 of file collections.F90.
|
private |
Inserts an element into the list or places at the end if the index > list size.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
data | Double precision real data to insert |
i | The list index to insert to |
Definition at line 2815 of file collections.F90.
|
private |
Inserts an element into the list or places at the end if the index > list size.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
data | String data to insert |
i | The list index to insert to |
Definition at line 2798 of file collections.F90.
|
private |
Determines whether or not the list is empty.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
Definition at line 3026 of file collections.F90.
|
private |
Removes an element from the list at a specific index.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
i | Index to remove from |
Definition at line 2992 of file collections.F90.
|
private |
Returns the number of elements in a list.
Do not call directly from external module, this is called via the appropriate interface
specificlist | The specific list involved |
Definition at line 3175 of file collections.F90.
|
private |
Determines whether or not a map contains a specific key.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | The key we are looking up |
Definition at line 761 of file collections.F90.
|
private |
Frees up all the allocatable, heap, memory associated with a specific map.
This basically acts like a clear operation and once freed the data structure can be reused Note that it does not free the value at all as this might be referenced else where in the code Do not call directly from external module, this is called via the appropriate interface
specificmap | The map to delete all members and free all allocated memory of |
Definition at line 1221 of file collections.F90.
|
private |
Retrieves the generic value held at the specific map index or null if index > map elements.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | Index to get value from |
Definition at line 884 of file collections.F90.
|
private |
Retrieves the entry at a specific map index or null if index > map elements.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | Index to get value from |
key | The associated key |
value | Generic pointer to corresponding value |
Definition at line 999 of file collections.F90.
|
private |
Gets a specific element out of the map with the corresponding key.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | Look up key |
Definition at line 1136 of file collections.F90.
|
private |
Gets a specific element out of the map with the corresponding key.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | Look up key |
Definition at line 1057 of file collections.F90.
|
private |
Retrieves an iterator representation of the map, ready to access the first element.
specificmap | Specific collection to base this iterator on |
Definition at line 627 of file collections.F90.
|
private |
Gets a specific element out of the map with the corresponding key.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | Look up key |
Definition at line 1118 of file collections.F90.
|
private |
Gets a specific element out of the map with the corresponding key. This converts between precision and from ints.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | Look up key |
Definition at line 1093 of file collections.F90.
|
private |
Gets a specific element out of the map with the corresponding key.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | Look up key |
Definition at line 1075 of file collections.F90.
|
private |
This gets the map node that the key represents (rather than the specific value)
It allows us to twiddle with map properties but also grab the value out too Optionally provides us with the list index that the specific node was found at
specificmap | The specific map involved |
key | Lookup key |
foundindex | (Optional) index where the node is currently held |
Definition at line 1160 of file collections.F90.
|
private |
Retrieves the integer value held at the specific map index.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | Index to get value from |
Definition at line 805 of file collections.F90.
|
private |
Retrieves the entry at a specific map index or null if index > map elements.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | Index to get value from |
key | The associated key |
value | Integer value or raises an error if none is found |
Definition at line 912 of file collections.F90.
|
private |
Returns whether a map is empty.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
Definition at line 1209 of file collections.F90.
|
private |
Retrieves the key currently being held at a specific index in the map or "" if the index > map elements.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | The index to retrieve the key from |
Definition at line 778 of file collections.F90.
|
private |
Retrieves the logical value held at the specific map index.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | Index to get value from |
Definition at line 866 of file collections.F90.
|
private |
Retrieves the entry at a specific map index or null if index > map elements.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | Index to get value from |
key | The associated key |
value | Logical value or raises an error if none is found |
Definition at line 979 of file collections.F90.
|
private |
Puts a specific key-value pair into the map.
If the key is not already held in the map then the key-value pair will be added, otherwise the existing key-value pair will be modified to hold this updated value (keys must be unique) Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | The key to place in the map |
data | Pointer to the generic data value to place in the map |
memory_allocation_automatic | Whether the collections API should manage the freeing of memory |
Definition at line 725 of file collections.F90.
|
private |
Puts a specific key-value pair into the map.
If the key is not already held in the map then the key-value pair will be added, otherwise the existing key-value pair will be modified to hold this updated value (keys must be unique) Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | The key to place in the map |
data | Integer value to place in the map |
Definition at line 644 of file collections.F90.
|
private |
Puts a specific key-value pair into the map.
If the key is not already held in the map then the key-value pair will be added, otherwise the existing key-value pair will be modified to hold this updated value (keys must be unique) Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | The key to place in the map |
data | Logical value to place in the map |
Definition at line 704 of file collections.F90.
|
private |
Puts a specific key-value pair into the map.
If the key is not already held in the map then the key-value pair will be added, otherwise the existing key-value pair will be modified to hold this updated value (keys must be unique) Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | The key to place in the map |
data | Double precision real value to place in the map |
Definition at line 684 of file collections.F90.
|
private |
Puts a specific key-value pair into the map.
If the key is not already held in the map then the key-value pair will be added, otherwise the existing key-value pair will be modified to hold this updated value (keys must be unique) Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | The key to place in the map |
data | String value to place in the map |
Definition at line 664 of file collections.F90.
|
private |
Retrieves the real value held at the specific map index. Converts between precision and int.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | Index to get value from |
Definition at line 841 of file collections.F90.
|
private |
Retrieves the entry at a specific map index or null if index > map elements. This converts precision and from ints.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | Index to get value from |
key | The associated key |
value | Real value or raises an error if none is found |
Definition at line 952 of file collections.F90.
|
private |
Removes a specific key-value pair from the map.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
key | Key of the key-value pair to remove from the map |
Definition at line 1030 of file collections.F90.
|
private |
Returns the number of elements in the map.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
Definition at line 1198 of file collections.F90.
|
private |
Retrieves the string value held at the specific map index.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | Index to get value from |
Definition at line 823 of file collections.F90.
|
private |
Retrieves the entry at a specific map index or null if index > map elements.
Do not call directly from external module, this is called via the appropriate interface
specificmap | The specific map involved |
i | Index to get value from |
key | The associated key |
value | String value or raises an error if none is found |
Definition at line 932 of file collections.F90.
|
private |
Retrieves the generic value from a map entry.
mapentry_item | The map entry to retrieve the generic value from |
Definition at line 3379 of file collections.F90.
|
private |
Retrieves the integer value from a map entry.
mapentry_item | The map entry to retrieve the integer value from |
Definition at line 3320 of file collections.F90.
|
private |
Retrieves the logical value from a map entry.
mapentry_item | The map entry to retrieve the logical value from |
Definition at line 3366 of file collections.F90.
|
private |
Retrieves the double precision real value from a map entry.
mapentry_item | The map entry to retrieve the double precision real value from (auto converts from single/ints) |
Definition at line 3346 of file collections.F90.
|
private |
Retrieves the string value from a map entry.
mapentry_item | The map entry to retrieve the string value from |
Definition at line 3333 of file collections.F90.
|
private |
Frees up all the allocatable, heap, memory associated with a specific queue.
This basically acts like a clear operation and once freed the data structure can be reused Note that it does not free the data memory at all as this might be referenced else where in the code Do not call directly from external module, this is called via the appropriate interface
specificqueue | The queue to delete all members and free all allocated memory of |
Definition at line 2759 of file collections.F90.
|
private |
Returns a specific queue element at an index or null if index > queue size.
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
i | The index to look up |
Definition at line 2723 of file collections.F90.
|
private |
Returns a specific queue element at an index.
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
i | The index to look up |
Definition at line 2644 of file collections.F90.
|
private |
Retrieves an iterator representation of the queue, ready to access the first element.
specificqueue | Specific collection to base this iterator on |
Definition at line 2472 of file collections.F90.
|
private |
Returns a specific queue element at an index.
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
i | The index to look up |
Definition at line 2705 of file collections.F90.
|
private |
Returns a specific queue element at an index. Converts between precision and from int.
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
i | The index to look up |
Definition at line 2680 of file collections.F90.
|
private |
Returns a specific queue element at an index.
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
i | The index to look up |
Definition at line 2662 of file collections.F90.
|
private |
Returns whether a queue is empty.
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
Definition at line 2747 of file collections.F90.
|
private |
Pops the queue element off the head of the queue (FIFO)
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
Definition at line 2630 of file collections.F90.
|
private |
Pops the queue element off the head of the queue (FIFO)
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
Definition at line 2559 of file collections.F90.
|
private |
Pops the queue element off the head of the queue (FIFO)
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
Definition at line 2614 of file collections.F90.
|
private |
Pops the queue element off the head of the queue (FIFO). Converts between precision and from int.
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
Definition at line 2591 of file collections.F90.
|
private |
Pops the queue element off the head of the queue (FIFO)
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
Definition at line 2575 of file collections.F90.
|
private |
Adds an element to the end of the queue (FIFO)
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
data | Pointer to the generic data to add to the queue |
memory_allocation_automatic | Whether the collections API should manage the freeing of memory |
Definition at line 2546 of file collections.F90.
|
private |
Adds an element to the end of the queue (FIFO)
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
data | Integer data to add to the queue |
Definition at line 2485 of file collections.F90.
|
private |
Adds an element to the end of the queue (FIFO)
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
data | Logical data to add to the queue |
Definition at line 2530 of file collections.F90.
|
private |
Adds an element to the end of the queue (FIFO)
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
data | Double precision real data to add to the queue |
Definition at line 2515 of file collections.F90.
|
private |
Adds an element to the end of the queue (FIFO)
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
data | String data to add to the queue |
Definition at line 2500 of file collections.F90.
|
private |
Returns the number of elements held in a queue.
Do not call directly from external module, this is called via the appropriate interface
specificqueue | The specific queue involved |
Definition at line 2736 of file collections.F90.
|
private |
Frees up all the allocatable, heap, memory associated with a specific stack.
This basically acts like a clear operation and once freed the data structure can be reused Note that it does not free the data memory at all as this might be referenced else where in the code Do not call directly from external module, this is called via the appropriate interface
specificstack | The stack to delete all members and free all allocated memory of |
Definition at line 2463 of file collections.F90.
|
private |
Gets a specific element from the stack at index specified or null if the index > stack size.
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
i | The index to retrieve the element at |
Definition at line 2427 of file collections.F90.
|
private |
Gets a specific element from the stack at index specified.
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
i | The index to retrieve the element at |
Definition at line 2348 of file collections.F90.
|
private |
Retrieves an iterator representation of the stack, ready to access the first element.
specificstack | Specific collection to base this iterator on |
Definition at line 2176 of file collections.F90.
|
private |
Gets a specific element from the stack at index specified.
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
i | The index to retrieve the element at |
Definition at line 2409 of file collections.F90.
|
private |
Gets a specific element from the stack at index specified. Converts between precision and from int.
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
i | The index to retrieve the element at |
Definition at line 2384 of file collections.F90.
|
private |
Gets a specific element from the stack at index specified.
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
i | The index to retrieve the element at |
Definition at line 2366 of file collections.F90.
|
private |
Returns whether a stack is empty.
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
Definition at line 2451 of file collections.F90.
|
private |
Pops an element off the stack (LIFO)
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
Definition at line 2334 of file collections.F90.
|
private |
Pops an element off the stack (LIFO)
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
Definition at line 2263 of file collections.F90.
|
private |
Pops an element off the stack (LIFO)
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
Definition at line 2318 of file collections.F90.
|
private |
Pops an element off the stack (LIFO). Converts between precision and from int.
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
Definition at line 2295 of file collections.F90.
|
private |
Pops an element off the stack (LIFO)
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
Definition at line 2279 of file collections.F90.
|
private |
Pushes an element onto the stack (LIFO)
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
data | Pointer to the generic data to push onto the stack |
memory_allocation_automatic | Whether the collections API should manage the freeing of memory |
Definition at line 2250 of file collections.F90.
|
private |
Pushes an element onto the stack (LIFO)
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
data | Integer data to push onto the stack |
Definition at line 2189 of file collections.F90.
|
private |
Pushes an element onto the stack (LIFO)
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
data | Logical data to push onto the stack |
Definition at line 2234 of file collections.F90.
|
private |
Pushes an element onto the stack (LIFO)
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
data | Double precision real data to push onto the stack |
Definition at line 2219 of file collections.F90.
|
private |
Pushes an element onto the stack (LIFO)
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
data | String data to push onto the stack |
Definition at line 2204 of file collections.F90.
|
private |
Returns the number of elements held on the stack.
Do not call directly from external module, this is called via the appropriate interface
specificstack | The specific stack involved |
Definition at line 2440 of file collections.F90.
|
private |
Number of entries in the hash table, this is a tradeoff - larger means more memory but smaller runtime assuming a hashing function with good distribution.
Definition at line 20 of file collections.F90.