Neko 1.99.3
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
htable Module Reference

Implements a hash table ADT. More...

Data Types

type  h_cptr_t
 
type  h_tuple_t
 Hash table entry, tuple (key, data) More...
 
type  htable_cptr_t
 C pointer based hash table. More...
 
interface  htable_hash
 
type  htable_i4_t
 Integer based hash table. More...
 
type  htable_i4t2_t
 Integer 2-tuple based hash table. More...
 
type  htable_i4t4_t
 Integer 4-tuple based hash table. More...
 
type  htable_i8_t
 Integer*8 based hash table. More...
 
type  htable_iter_cptr_t
 Iterator for a C pointer based hash table. More...
 
type  htable_iter_i4_t
 Iterator for an integer based hash table. More...
 
type  htable_iter_i4t2_t
 Iterator for an integer based 2-tuple hash table. More...
 
type  htable_iter_i4t4_t
 Iterator for an integer based 4-tuple hash table. More...
 
type  htable_iter_i8_t
 Iterator for an integer*8 based hash table. More...
 
type  htable_iter_pt_t
 Iterator for a point based hash table. More...
 
type  htable_iter_r8_t
 Iterator for a double precision based hash table. More...
 
type  htable_iter_t
 Base type for a hash table iterator. More...
 
type  htable_pt_t
 Point based hash table. More...
 
type  htable_r8_t
 Double precision based hash table. More...
 
type  htable_t
 Base type for a hash table. More...
 

Functions/Subroutines

subroutine htable_init (this, size, key, data)
 Initialize a hash table of type data.
 
subroutine htable_free (this)
 Destroy a hash table.
 
subroutine htable_clear (this)
 Clear all entries in a hash table.
 
pure integer function htable_num_entries (this)
 Return number of entries in the table.
 
pure integer function htable_size (this)
 Return total size of htable.
 
recursive subroutine htable_set (this, key, data)
 Insert tuple (key, value) into the hash table.
 
integer function htable_get (this, key, data)
 Retrieve data associated with key into the hash table.
 
subroutine htable_remove (this, key)
 Remove a key from the hash table.
 
subroutine htable_set_data (this, idx, data)
 Set data at idx to value.
 
subroutine htable_get_data (this, idx, data)
 Return data at idx in value.
 
pure logical function htable_eq_key (this, idx, key)
 Compare key at idx to key.
 
subroutine htable_set_key (this, idx, key)
 Set key at idx to key.
 
logical function htable_iter_next (this)
 Advance the iterator to the next valid table entry.
 
subroutine htable_iter_reset (this)
 Reset an iterator.
 
subroutine htable_iter_data (this, data)
 Return the data at the current iterator position.
 
subroutine htable_i4_init (this, size, data)
 Initialize an integer based hash table.
 
subroutine htable_i4_set (this, key, data)
 Insert an integer into the hash table.
 
integer function htable_i4_get (this, key, data)
 Retrive an integer with key key from the hash table.
 
pure integer function htable_i4_hash (this, k, c)
 Hash function for an integer based hash table.
 
subroutine htable_i4_remove (this, key)
 Remove an integer with key key from the hash table.
 
subroutine htable_iter_i4_init (this, t)
 Initialize an integer based hash table iterator.
 
subroutine htable_iter_i4_free (this)
 Destroy an integer based hash table iterator.
 
integer function, pointer htable_iter_i4_value (this)
 Return the current value of the integer based hash table iterator.
 
integer function, pointer htable_iter_i4_key (this)
 Return the current key of the integer based hash table iterator.
 
subroutine htable_i8_init (this, size, data)
 Initialize an integer*8 based hash table.
 
subroutine htable_i8_set (this, key, data)
 Insert an integer*8 into the hash table.
 
integer function htable_i8_get (this, key, data)
 Retrive an integer*8 with key key from the hash table.
 
pure integer function htable_i8_hash (this, k, c)
 Hash function for an integer*8 based hash table.
 
subroutine htable_i8_remove (this, key)
 Remove an integer*8 with key key from the hash table.
 
subroutine htable_iter_i8_init (this, t)
 Initialize an integer*8 based hash table iterator.
 
subroutine htable_iter_i8_free (this)
 Destroy an integer*8 based hash table iterator.
 
integer(kind=i8) function, pointer htable_iter_i8_value (this)
 Return the current value of the integer*8 based hash table iterator.
 
integer(kind=i8) function, pointer htable_iter_i8_key (this)
 Return the current key of the integer*8 based hash table iterator.
 
subroutine htable_r8_init (this, size, data)
 Initialize a double precision based hash table.
 
subroutine htable_r8_set (this, key, data)
 Insert a double precision key (with data) into the hash table.
 
integer function htable_r8_get (this, key, data)
 Retrive a double precision float with key key from the hash table.
 
pure integer function htable_r8_hash (this, k, c)
 Hash function for a double precision based hash table.
 
subroutine htable_r8_remove (this, key)
 Remove a double precision key key from the hash table.
 
subroutine htable_iter_r8_init (this, t)
 Initialize a double precision based hash table iterator.
 
subroutine htable_iter_r8_free (this)
 Destroy a double precision based hash table iterator.
 
real(kind=dp) function, pointer htable_iter_r8_value (this)
 Return the current value of the double precision based hash table iterator.
 
real(kind=dp) function, pointer htable_iter_r8_key (this)
 Return the current key of the double precision based hash table iterator.
 
subroutine htable_pt_init (this, size, data)
 Initialize a point based hash table.
 
subroutine htable_pt_set (this, key, data)
 Insert a point key (with data) into the hash table.
 
integer function htable_pt_get (this, key, data)
 Retrive a point with key key from the hash table.
 
pure integer function htable_pt_hash (this, k, c)
 Hash function for a point based hash table.
 
subroutine htable_pt_remove (this, key)
 Remove a point with key key from the hash table.
 
subroutine htable_iter_pt_init (this, t)
 Initialize a point based hash table iterator.
 
subroutine htable_iter_pt_free (this)
 Destroy a point based hash table iterator.
 
type(point_t) function, pointer htable_iter_pt_value (this)
 Return the current value of the point based hash table iterator.
 
type(point_t) function, pointer htable_iter_pt_key (this)
 Return the current key of the point based hash table iterator.
 
subroutine htable_i4t2_init (this, size, data)
 Initialize an integer 2-tuple hash table.
 
subroutine htable_i4t2_set (this, key, data)
 Insert an integer 2-tuple into the hash table.
 
integer function htable_i4t2_get (this, key, data)
 Retrive an integer 2-tuple with key key from the hash table.
 
pure integer function htable_i4t2_hash (this, k, c)
 Hash function for an integer 2-tuple hash table.
 
subroutine htable_i4t2_remove (this, key)
 Remove an integer 2-tuple with key key from the hash table.
 
subroutine htable_iter_i4t2_init (this, t)
 Initialize an integer 2-tuple based hash table iterator.
 
subroutine htable_iter_i4t2_free (this)
 Destroy an integer 2-tuple based hash table iterator.
 
type(tuple_i4_t) function, pointer htable_iter_i4t2_value (this)
 Return the current value of integer based 2-tuple hash table iterator.
 
type(tuple_i4_t) function, pointer htable_iter_i4t2_key (this)
 Return the current key of integer based 2-tuple hash table iterator.
 
subroutine htable_i4t4_init (this, size, data)
 Initialize an integer 4-tuple hash table.
 
subroutine htable_i4t4_set (this, key, data)
 Insert an integer 4-tuple into the hash table.
 
integer function htable_i4t4_get (this, key, data)
 Retrive an integer 4-tuple with key key from the hash table.
 
pure integer function htable_i4t4_hash (this, k, c)
 Hash function for an integer 4-tuple hash table.
 
subroutine htable_i4t4_remove (this, key)
 Remove an integer 4-tuple with key key from the hash table.
 
subroutine htable_iter_i4t4_init (this, t)
 Initialize an integer 4-tuple based hash table iterator.
 
subroutine htable_iter_i4t4_free (this)
 Destroy an integer 4-tuple based hash table iterator.
 
type(tuple4_i4_t) function, pointer htable_iter_i4t4_value (this)
 Return the current value of integer based 4-tuple hash table iterator.
 
type(tuple4_i4_t) function, pointer htable_iter_i4t4_key (this)
 Return the current key of integer based 4-tuple hash table iterator.
 
subroutine htable_cptr_init (this, size, data)
 Initialize a C pointer based hash table.
 
subroutine htable_cptr_set (this, key, data)
 Insert a C pointer into the hash table.
 
integer function htable_cptr_get (this, key, data)
 Retrive a C pointer with key key from the hash table.
 
pure integer function htable_cptr_hash (this, k, c)
 Hash function for an integer 4-tuple hash table.
 
subroutine htable_cptr_remove (this, key)
 Remove a C pointer with key key from the hash table.
 
subroutine htable_iter_cptr_init (this, t)
 Initialize a C pointer based hash table iterator.
 
subroutine htable_iter_cptr_free (this)
 Destroy a C pointer based hash table iterator.
 
type(h_cptr_t) function, pointer htable_iter_cptr_value (this)
 Return the current value of C pointer based hash table iterator.
 
type(h_cptr_t) function, pointer htable_iter_cptr_key (this)
 Return the current key of a C pointer based hash table iterator.
 

Detailed Description

A hash table storing tuples (key, data), with fixed data-type key but with arbitrary typed data Public types: htable_i4_t | hash table keyed by 32-bit ints htable_i8_t | hash table keyed by 64-bit ints htable_r8_t | hash table keyed by 64-bit real values htable_pt_t | hash table keyed by point_t htable_i4t2_t | hash table keyed by tuple_i4_t htable_i4t4_t | hash table keyed by tuple4_i4_t htable_cptr_t | hash table keyed by C pointers htable_iter_i4_t | iterator for 32-bit integer hash tables htable_iter_i8_t | iterator for 64-bit integer hash tables htable_iter_r8_t | iterator for 64-bit real hash tables htable_iter_pt_t | iterator for point_t hash tables htable_iter_i4t2_t | iterator for tuple_i4_t hash tables htable_iter_i4t4_t | iterator for tuple4_i4_t hash tables htable_iter_cptr_t | iterator for C pointer hash tables h_cptr_t | wrapper for C pointers used as hash keys

Function/Subroutine Documentation

◆ htable_clear()

subroutine htable::htable_clear ( class(htable_t), intent(inout this)
private

Definition at line 313 of file htable.f90.

◆ htable_cptr_get()

integer function htable::htable_cptr_get ( class(htable_cptr_t), intent(inout), target  this,
type(h_cptr_t), intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 1565 of file htable.f90.

Here is the call graph for this function:

◆ htable_cptr_hash()

pure integer function htable::htable_cptr_hash ( class(htable_cptr_t), intent(in this,
class(*), intent(in k,
integer, value  c 
)
private

Definition at line 1576 of file htable.f90.

◆ htable_cptr_init()

subroutine htable::htable_cptr_init ( class(htable_cptr_t), intent(inout this,
integer, value  size,
class(*), intent(inout), optional  data 
)
private
Parameters
sizeInitial size of the table
[in,out]dataData to associate with key

Definition at line 1540 of file htable.f90.

Here is the call graph for this function:

◆ htable_cptr_remove()

subroutine htable::htable_cptr_remove ( class(htable_cptr_t), intent(inout), target  this,
type(h_cptr_t), intent(inout key 
)
private
Parameters
[in,out]keyTable key

Definition at line 1594 of file htable.f90.

Here is the call graph for this function:

◆ htable_cptr_set()

subroutine htable::htable_cptr_set ( class(htable_cptr_t), intent(inout), target  this,
type(h_cptr_t), intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Definition at line 1555 of file htable.f90.

Here is the call graph for this function:

◆ htable_eq_key()

pure logical function htable::htable_eq_key ( class(htable_t), intent(in this,
integer, intent(in idx,
class(*), intent(in key 
)
private
Parameters
[in]idxTable index
[in]keyKey to compare against the key at idx

Definition at line 615 of file htable.f90.

Here is the caller graph for this function:

◆ htable_free()

subroutine htable::htable_free ( class(htable_t), intent(inout this)
private

Definition at line 292 of file htable.f90.

Here is the caller graph for this function:

◆ htable_get()

integer function htable::htable_get ( class(htable_t), intent(inout this,
class(*), intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 452 of file htable.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ htable_get_data()

subroutine htable::htable_get_data ( class(htable_t), intent(in this,
integer, intent(in idx,
class(*), intent(inout data 
)
private
Parameters
[in]idxTable index
[in,out]dataData to retrieve

Definition at line 571 of file htable.f90.

Here is the caller graph for this function:

◆ htable_i4_get()

integer function htable::htable_i4_get ( class(htable_i4_t), intent(inout this,
integer, intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 807 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4_hash()

pure integer function htable::htable_i4_hash ( class(htable_i4_t), intent(in this,
class(*), intent(in k,
integer, value  c 
)
private

Definition at line 818 of file htable.f90.

◆ htable_i4_init()

subroutine htable::htable_i4_init ( class(htable_i4_t), intent(inout this,
integer, value  size,
class(*), intent(inout), optional  data 
)
private
Parameters
sizeInitial size of the table
[in,out]dataData to associate with key

Definition at line 782 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4_remove()

subroutine htable::htable_i4_remove ( class(htable_i4_t), intent(inout this,
integer, intent(inout key 
)
private
Parameters
[in,out]keyTable key

Definition at line 848 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4_set()

subroutine htable::htable_i4_set ( class(htable_i4_t), intent(inout this,
integer, intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Definition at line 797 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t2_get()

integer function htable::htable_i4t2_get ( class(htable_i4t2_t), intent(inout this,
type(tuple_i4_t), intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 1299 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t2_hash()

pure integer function htable::htable_i4t2_hash ( class(htable_i4t2_t), intent(in this,
class(*), intent(in k,
integer, value  c 
)
private

Definition at line 1310 of file htable.f90.

◆ htable_i4t2_init()

subroutine htable::htable_i4t2_init ( class(htable_i4t2_t), intent(inout this,
integer, value  size,
class(*), intent(inout), optional  data 
)
private
Parameters
sizeInitial size of the table
[in,out]dataData to associate with key

Definition at line 1274 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t2_remove()

subroutine htable::htable_i4t2_remove ( class(htable_i4t2_t), intent(inout this,
type(tuple_i4_t), intent(inout key 
)
private
Parameters
[in,out]keyTable key

Definition at line 1347 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t2_set()

subroutine htable::htable_i4t2_set ( class(htable_i4t2_t), intent(inout this,
type(tuple_i4_t), intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Definition at line 1289 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t4_get()

integer function htable::htable_i4t4_get ( class(htable_i4t4_t), intent(inout this,
type(tuple4_i4_t), intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 1428 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t4_hash()

pure integer function htable::htable_i4t4_hash ( class(htable_i4t4_t), intent(in this,
class(*), intent(in k,
integer, value  c 
)
private

Definition at line 1439 of file htable.f90.

◆ htable_i4t4_init()

subroutine htable::htable_i4t4_init ( class(htable_i4t4_t), intent(inout this,
integer, value  size,
class(*), intent(inout), optional  data 
)
private
Parameters
sizeInitial size of the table
[in,out]dataData to associate with key

Definition at line 1403 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t4_remove()

subroutine htable::htable_i4t4_remove ( class(htable_i4t4_t), intent(inout this,
type(tuple4_i4_t), intent(inout key 
)
private
Parameters
[in,out]keyTable key

Definition at line 1476 of file htable.f90.

Here is the call graph for this function:

◆ htable_i4t4_set()

subroutine htable::htable_i4t4_set ( class(htable_i4t4_t), intent(inout this,
type(tuple4_i4_t), intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Definition at line 1418 of file htable.f90.

Here is the call graph for this function:

◆ htable_i8_get()

integer function htable::htable_i8_get ( class(htable_i8_t), intent(inout this,
integer(kind=i8), intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 929 of file htable.f90.

Here is the call graph for this function:

◆ htable_i8_hash()

pure integer function htable::htable_i8_hash ( class(htable_i8_t), intent(in this,
class(*), intent(in k,
integer, value  c 
)
private
Note
I think this hash might be better

Definition at line 940 of file htable.f90.

◆ htable_i8_init()

subroutine htable::htable_i8_init ( class(htable_i8_t), intent(inout this,
integer, value  size,
class(*), intent(inout), optional  data 
)
private
Parameters
sizeInitial size of the table
[in,out]dataData to associate with key

Definition at line 904 of file htable.f90.

Here is the call graph for this function:

◆ htable_i8_remove()

subroutine htable::htable_i8_remove ( class(htable_i8_t), intent(inout this,
integer(kind=i8), intent(inout key 
)
private
Parameters
[in,out]keyTable key

Definition at line 971 of file htable.f90.

Here is the call graph for this function:

◆ htable_i8_set()

subroutine htable::htable_i8_set ( class(htable_i8_t), intent(inout this,
integer(kind=i8), intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Definition at line 919 of file htable.f90.

Here is the call graph for this function:

◆ htable_init()

subroutine htable::htable_init ( class(htable_t), intent(inout this,
integer, value  size,
class(*), intent(in), target  key,
class(*), intent(in), optional, target  data 
)
Parameters
sizeInitial size of the table
[in]keyType of key
[in]dataType of data

Definition at line 258 of file htable.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ htable_iter_cptr_free()

subroutine htable::htable_iter_cptr_free ( type(htable_iter_cptr_t), intent(inout this)
private

Definition at line 1612 of file htable.f90.

Here is the caller graph for this function:

◆ htable_iter_cptr_init()

subroutine htable::htable_iter_cptr_init ( class(htable_iter_cptr_t), intent(inout this,
type(htable_cptr_t), intent(inout), target  t 
)
private

Definition at line 1603 of file htable.f90.

◆ htable_iter_cptr_key()

type(h_cptr_t) function, pointer htable::htable_iter_cptr_key ( class(htable_iter_cptr_t), intent(inout), target  this)
private

Definition at line 1635 of file htable.f90.

◆ htable_iter_cptr_value()

type(h_cptr_t) function, pointer htable::htable_iter_cptr_value ( class(htable_iter_cptr_t), intent(inout), target  this)
private

Definition at line 1619 of file htable.f90.

◆ htable_iter_data()

subroutine htable::htable_iter_data ( class(htable_iter_t), intent(inout), target  this,
class(*), intent(inout data 
)
private
Attention
this will make a deep copy of the data...
Todo:
Remove once we figure out how to do this with value() for arbitrary data types
Parameters
[in,out]dataData to retrieve

Definition at line 733 of file htable.f90.

◆ htable_iter_i4_free()

subroutine htable::htable_iter_i4_free ( type(htable_iter_i4_t), intent(inout this)
private

Definition at line 866 of file htable.f90.

Here is the caller graph for this function:

◆ htable_iter_i4_init()

subroutine htable::htable_iter_i4_init ( class(htable_iter_i4_t), intent(inout this,
type(htable_i4_t), intent(inout), target  t 
)
private

Definition at line 857 of file htable.f90.

◆ htable_iter_i4_key()

integer function, pointer htable::htable_iter_i4_key ( class(htable_iter_i4_t), intent(inout), target  this)
private

Definition at line 887 of file htable.f90.

◆ htable_iter_i4_value()

integer function, pointer htable::htable_iter_i4_value ( class(htable_iter_i4_t), intent(inout), target  this)
private

Definition at line 873 of file htable.f90.

◆ htable_iter_i4t2_free()

subroutine htable::htable_iter_i4t2_free ( type(htable_iter_i4t2_t), intent(inout this)
private

Definition at line 1365 of file htable.f90.

Here is the caller graph for this function:

◆ htable_iter_i4t2_init()

subroutine htable::htable_iter_i4t2_init ( class(htable_iter_i4t2_t), intent(inout this,
type(htable_i4t2_t), intent(inout), target  t 
)
private

Definition at line 1356 of file htable.f90.

◆ htable_iter_i4t2_key()

type(tuple_i4_t) function, pointer htable::htable_iter_i4t2_key ( class(htable_iter_i4t2_t), intent(inout this)
private

Definition at line 1386 of file htable.f90.

◆ htable_iter_i4t2_value()

type(tuple_i4_t) function, pointer htable::htable_iter_i4t2_value ( class(htable_iter_i4t2_t), intent(inout this)
private

Definition at line 1372 of file htable.f90.

◆ htable_iter_i4t4_free()

subroutine htable::htable_iter_i4t4_free ( type(htable_iter_i4t4_t), intent(inout this)
private

Definition at line 1494 of file htable.f90.

Here is the caller graph for this function:

◆ htable_iter_i4t4_init()

subroutine htable::htable_iter_i4t4_init ( class(htable_iter_i4t4_t), intent(inout this,
type(htable_i4t4_t), intent(inout), target  t 
)
private

Definition at line 1485 of file htable.f90.

◆ htable_iter_i4t4_key()

type(tuple4_i4_t) function, pointer htable::htable_iter_i4t4_key ( class(htable_iter_i4t4_t), intent(inout), target  this)
private

Definition at line 1515 of file htable.f90.

◆ htable_iter_i4t4_value()

type(tuple4_i4_t) function, pointer htable::htable_iter_i4t4_value ( class(htable_iter_i4t4_t), intent(inout), target  this)
private

Definition at line 1501 of file htable.f90.

◆ htable_iter_i8_free()

subroutine htable::htable_iter_i8_free ( type(htable_iter_i8_t), intent(inout this)
private

Definition at line 989 of file htable.f90.

Here is the caller graph for this function:

◆ htable_iter_i8_init()

subroutine htable::htable_iter_i8_init ( class(htable_iter_i8_t), intent(inout this,
type(htable_i8_t), intent(inout), target  t 
)
private

Definition at line 980 of file htable.f90.

◆ htable_iter_i8_key()

integer(kind=i8) function, pointer htable::htable_iter_i8_key ( class(htable_iter_i8_t), intent(inout), target  this)
private

Definition at line 1010 of file htable.f90.

◆ htable_iter_i8_value()

integer(kind=i8) function, pointer htable::htable_iter_i8_value ( class(htable_iter_i8_t), intent(inout), target  this)
private

Definition at line 996 of file htable.f90.

◆ htable_iter_next()

logical function htable::htable_iter_next ( class(htable_iter_t), intent(inout), target  this)
private

Definition at line 705 of file htable.f90.

◆ htable_iter_pt_free()

subroutine htable::htable_iter_pt_free ( type(htable_iter_pt_t), intent(inout this)
private

Definition at line 1236 of file htable.f90.

Here is the caller graph for this function:

◆ htable_iter_pt_init()

subroutine htable::htable_iter_pt_init ( class(htable_iter_pt_t), intent(inout this,
type(htable_pt_t), intent(inout), target  t 
)
private

Definition at line 1227 of file htable.f90.

◆ htable_iter_pt_key()

type(point_t) function, pointer htable::htable_iter_pt_key ( class(htable_iter_pt_t), intent(inout), target  this)
private

Definition at line 1257 of file htable.f90.

◆ htable_iter_pt_value()

type(point_t) function, pointer htable::htable_iter_pt_value ( class(htable_iter_pt_t), intent(inout), target  this)
private

Definition at line 1243 of file htable.f90.

◆ htable_iter_r8_free()

subroutine htable::htable_iter_r8_free ( type(htable_iter_r8_t), intent(inout this)
private

Definition at line 1105 of file htable.f90.

Here is the caller graph for this function:

◆ htable_iter_r8_init()

subroutine htable::htable_iter_r8_init ( class(htable_iter_r8_t), intent(inout this,
type(htable_r8_t), intent(inout), target  t 
)
private

Definition at line 1096 of file htable.f90.

◆ htable_iter_r8_key()

real(kind=dp) function, pointer htable::htable_iter_r8_key ( class(htable_iter_r8_t), intent(inout), target  this)
private

Definition at line 1126 of file htable.f90.

◆ htable_iter_r8_value()

real(kind=dp) function, pointer htable::htable_iter_r8_value ( class(htable_iter_r8_t), intent(inout), target  this)
private

Definition at line 1112 of file htable.f90.

◆ htable_iter_reset()

subroutine htable::htable_iter_reset ( class(htable_iter_t), intent(inout this)
private

Definition at line 724 of file htable.f90.

◆ htable_num_entries()

pure integer function htable::htable_num_entries ( class(htable_t), intent(in this)
private

Definition at line 326 of file htable.f90.

◆ htable_pt_get()

integer function htable::htable_pt_get ( class(htable_pt_t), intent(inout this,
type(point_t), intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 1168 of file htable.f90.

Here is the call graph for this function:

◆ htable_pt_hash()

pure integer function htable::htable_pt_hash ( class(htable_pt_t), intent(in this,
class(*), intent(in k,
integer, value  c 
)
private

Definition at line 1179 of file htable.f90.

◆ htable_pt_init()

subroutine htable::htable_pt_init ( class(htable_pt_t), intent(inout this,
integer, value  size,
class(*), intent(inout), optional  data 
)
private
Parameters
sizeInitial size of the table
[in,out]dataData to associate with key

Definition at line 1143 of file htable.f90.

Here is the call graph for this function:

◆ htable_pt_remove()

subroutine htable::htable_pt_remove ( class(htable_pt_t), intent(inout this,
type(point_t), intent(inout key 
)
private
Parameters
[in,out]keyTable key

Definition at line 1217 of file htable.f90.

Here is the call graph for this function:

◆ htable_pt_set()

subroutine htable::htable_pt_set ( class(htable_pt_t), intent(inout this,
type(point_t), intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Definition at line 1158 of file htable.f90.

Here is the call graph for this function:

◆ htable_r8_get()

integer function htable::htable_r8_get ( class(htable_r8_t), intent(inout this,
real(kind=dp), intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyKey to retrieve
[in,out]dataRetrieved data

Definition at line 1061 of file htable.f90.

Here is the call graph for this function:

◆ htable_r8_hash()

pure integer function htable::htable_r8_hash ( class(htable_r8_t), intent(in this,
class(*), intent(in k,
integer, value  c 
)
private

Definition at line 1072 of file htable.f90.

◆ htable_r8_init()

subroutine htable::htable_r8_init ( class(htable_r8_t), intent(inout this,
integer, value  size,
class(*), intent(inout), optional  data 
)
private
Parameters
sizeInitial size of the table
[in,out]dataData to associate with key

Definition at line 1036 of file htable.f90.

Here is the call graph for this function:

◆ htable_r8_remove()

subroutine htable::htable_r8_remove ( class(htable_r8_t), intent(inout this,
real(kind=dp), intent(inout key 
)
private
Parameters
[in,out]keyTable key

Definition at line 1086 of file htable.f90.

Here is the call graph for this function:

◆ htable_r8_set()

subroutine htable::htable_r8_set ( class(htable_r8_t), intent(inout this,
real(kind=dp), intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Definition at line 1051 of file htable.f90.

Here is the call graph for this function:

◆ htable_remove()

subroutine htable::htable_remove ( class(htable_t), intent(inout this,
class(*), intent(inout key 
)
private
Parameters
[in,out]keyKey to remove

Definition at line 485 of file htable.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ htable_set()

recursive subroutine htable::htable_set ( class(htable_t), intent(inout), target  this,
class(*), intent(inout key,
class(*), intent(inout data 
)
private
Parameters
[in,out]keyTable key
[in,out]dataData associated with key

Check if entry at this index is empty or if key matches

Definition at line 341 of file htable.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ htable_set_data()

subroutine htable::htable_set_data ( class(htable_t), intent(inout), target  this,
integer, intent(in idx,
class(*), intent(in data 
)
private
Parameters
[in]idxTable index
[in]dataData to set at idx

Definition at line 525 of file htable.f90.

Here is the caller graph for this function:

◆ htable_set_key()

subroutine htable::htable_set_key ( class(htable_t), intent(inout), target  this,
integer, intent(in idx,
class(*), intent(in key 
)
private
Parameters
[in]idxTable index
[in]keyKey to set at idx

Definition at line 659 of file htable.f90.

Here is the caller graph for this function:

◆ htable_size()

pure integer function htable::htable_size ( class(htable_t), intent(in this)
private

Definition at line 333 of file htable.f90.