52     procedure(
uset_add), pass(this), 
deferred :: add
 
 
  111       class(
uset_t), 
intent(inout) :: this
 
  112       integer, 
optional :: n
 
 
  120       class(
uset_t), 
intent(inout) :: this
 
 
  128       class(
uset_t), 
intent(in) :: this
 
 
  137       class(
uset_t), 
intent(inout) :: this
 
 
  145       class(
uset_t), 
intent(inout) :: this
 
  146       class(*), 
intent(inout) :: key
 
 
  155       class(
uset_t), 
intent(inout) :: this
 
  156       class(*), 
intent(inout) :: key
 
 
  164       class(
uset_t), 
intent(inout) :: this
 
  165       class(*), 
intent(inout) :: key
 
 
  174    integer, 
optional :: n
 
 
  197    entries = this%t%num_entries()
 
 
  211    class(*), 
intent(inout) :: key
 
  217       res = (this%t%get(key, data) .eq. 0)
 
 
  226    class(*), 
intent(inout) :: key
 
  232       call this%t%set(key, data)
 
 
  241    class(*), 
intent(inout) :: key
 
  245       call this%t%remove(key)
 
 
  253    class(
uset_i4_t), 
target, 
intent(inout) :: this
 
  254    call this%it%init(this%t)
 
 
  261    valid = this%it%next()
 
 
  266    class(
uset_i4_t), 
target, 
intent(inout) :: this
 
  267    integer, 
pointer :: value
 
  268    value => this%it%value()
 
 
  274    integer, 
optional :: n
 
 
  297    entries = this%t%num_entries()
 
 
  311    class(*), 
intent(inout) :: key
 
  312    integer(kind=i8) :: data
 
  316    type is (
integer(
i8))
 
  317       res = (this%t%get(key, data) .eq. 0)
 
 
  326    class(*), 
intent(inout) :: key
 
  327    integer(kind=i8) :: data
 
  330    type is (
integer(i8))
 
  332       call this%t%set(key, data)
 
 
  341    class(*), 
intent(inout) :: key
 
  344    type is (
integer(i8))
 
  345       call this%t%remove(key)
 
 
  353    class(
uset_i8_t), 
target, 
intent(inout) :: this
 
  354    call this%it%init(this%t)
 
 
  361    valid = this%it%next()
 
 
  366    class(
uset_i8_t), 
target, 
intent(inout) :: this
 
  367    integer(kind=i8), 
pointer :: value
 
  372    select type(hp => this)
 
  374       value => hp%it%value()
 
  376       call neko_error(
'Invalid uset htable iter (i8)')
 
 
  383    integer, 
optional :: n
 
 
  405    entries = this%t%num_entries()
 
 
  419    class(*), 
intent(inout) :: key
 
  421    real(kind=
dp) :: 
data 
  424    type is (double precision)
 
  425       res = (this%t%get(key, data) .eq. 0)
 
 
  435    class(*), 
intent(inout) :: key
 
  436    real(kind=
dp) :: 
data 
  439    type is (double precision)
 
  441       call this%t%set(key, data)
 
 
  450    class(*), 
intent(inout) :: key
 
  453    type is (double precision)
 
  454       call this%t%remove(key)
 
 
  462    class(
uset_r8_t), 
target, 
intent(inout) :: this
 
  463    call this%it%init(this%t)
 
 
  470    valid = this%it%next()
 
 
  475    class(
uset_r8_t), 
target, 
intent(inout) :: this
 
  476    real(kind=
dp), 
pointer :: 
value 
  477    value => this%it%value()
 
 
Inteface for adding key to an unorderd set.
 
Interface for clearing an unordered set.
 
Interface for checking if key is an element of an unordered set.
 
Interface for destroying an unordered set.
 
Interface for initializing an unordered set.
 
Inteface for removing key in an unorderd set.
 
Interface for getting the cardinality of an unordered set.
 
Implements a hash table ADT.
 
integer, parameter, public i8
 
integer, parameter, public dp
 
Implements an unordered set ADT.
 
subroutine uset_r8_clear(this)
Clear a double precision based unordered set.
 
subroutine uset_i4_iter_init(this)
Initialise an integer based set iterator.
 
subroutine uset_i4_add(this, key)
Add an integer key to the set.
 
subroutine uset_i8_clear(this)
Clear an integer*8 based unordered set.
 
subroutine uset_r8_remove(this, key)
Remove a double precision key from the set.
 
subroutine uset_r8_add(this, key)
Add a double precision key to the set.
 
logical function uset_i8_element(this, key)
Check if an integer*8 key is an element of the set.
 
subroutine uset_i8_add(this, key)
Add an integer*8 key to the set.
 
subroutine uset_i8_iter_init(this)
Initialise an integer based set iterator*8.
 
logical function uset_i8_iter_next(this)
Advance an integer*8 based set iterator.
 
integer function, pointer uset_i4_iter_value(this)
Return the current value of an integer based set iterator.
 
subroutine uset_i4_clear(this)
Clear an integer based unordered set.
 
integer(kind=i8) function, pointer uset_i8_iter_value(this)
Return the current value of an integer*8 based set iterator.
 
subroutine uset_r8_init(this, n)
Initialize an empty double precision based unordered set.
 
real(kind=dp) function, pointer uset_r8_iter_value(this)
Return the current value of a double precision based set iterator.
 
subroutine uset_i8_init(this, n)
Initialize an empty integer*8 based unordered set.
 
subroutine uset_i8_remove(this, key)
Remove an integer*8 key from the set.
 
subroutine uset_r8_iter_init(this)
Initialise a double precision based set iterator.
 
logical function uset_i4_element(this, key)
Check if an integer key is an element of the set.
 
subroutine uset_i4_init(this, n)
Initialize an empty integer based unordered set.
 
logical function uset_r8_iter_next(this)
Advance a double precision based set iterator.
 
pure integer function uset_i4_size(this)
Return the cardinality of an integer based unordered set.
 
logical function uset_i4_iter_next(this)
Advance an integer based set iterator.
 
pure integer function uset_i8_size(this)
Return the cardinality of an integer*8 based unordered set.
 
subroutine uset_i4_remove(this, key)
Remove an integer key from the set.
 
subroutine uset_i8_free(this)
Destroy an integer*8 based unordered set.
 
subroutine uset_r8_free(this)
Destroy a double precision based unordered set.
 
subroutine uset_i4_free(this)
Destroy an integer based unordered set.
 
pure integer function uset_r8_size(this)
Return the cardinality of a double precision based unordered set.
 
logical function uset_r8_element(this, key)
Check if a double precision key is an element of the set.
 
Integer based hash table.
 
Integer*8 based hash table.
 
Iterator for an integer based hash table.
 
Iterator for an integer*8 based hash table.
 
Iterator for a double precision based hash table.
 
Double precision based hash table.
 
Integer based unordered set.
 
Integer*8 based unordered set.
 
Double precision unordered set.
 
Base type for an unordered set.