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 2162 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 1404 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 1893 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 1529 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 1641 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 1775 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 1696 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 1256 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 1757 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 1732 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 1714 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 1799 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 1843 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 1446 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 1554 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 1881 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 1421 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 1510 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 1621 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 1365 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 1284 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 1344 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 1324 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 1304 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 1484 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 1594 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 1668 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 1870 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 1465 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 1574 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 1959 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 2006 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 2115 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 1934 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 2079 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 2024 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 2067 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 1988 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 2152 of file collections.F90.
|
private |
Deduces whether an iterator has a next entry or not.
iterator | The iterator to test upon |
Definition at line 3185 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 3295 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 3194 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 3255 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 3272 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 3232 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 3210 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 2964 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 2903 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 2948 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 2933 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 2918 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 3146 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 3118 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 3039 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 2769 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 3100 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 3075 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 3057 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 2850 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 2783 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 2833 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 2816 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 2799 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 3027 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 2993 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 3176 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 762 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 1222 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 885 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 1000 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 1137 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 1058 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 628 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 1119 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 1094 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 1076 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 1161 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 806 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 913 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 1210 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 779 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 867 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 980 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 726 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 645 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 705 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 685 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 665 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 842 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 953 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 1031 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 1199 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 824 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 933 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 3380 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 3321 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 3367 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 3347 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 3334 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 2760 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 2724 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 2645 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 2473 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 2706 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 2681 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 2663 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 2748 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 2631 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 2560 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 2615 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 2592 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 2576 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 2547 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 2486 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 2531 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 2516 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 2501 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 2737 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 2464 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 2428 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 2349 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 2177 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 2410 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 2385 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 2367 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 2452 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 2335 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 2264 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 2319 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 2296 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 2280 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 2251 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 2190 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 2235 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 2220 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 2205 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 2441 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.