| 
| subroutine  | uset_i4_init (this, n) | 
|   | Initialize an empty integer based unordered set.  
  | 
|   | 
| subroutine  | uset_i4_free (this) | 
|   | Destroy an integer based unordered set.  
  | 
|   | 
| pure integer function  | uset_i4_size (this) | 
|   | Return the cardinality of an integer based unordered set.  
  | 
|   | 
| subroutine  | uset_i4_clear (this) | 
|   | Clear an integer based unordered set.  
  | 
|   | 
| logical function  | uset_i4_element (this, key) | 
|   | Check if an integer key is an element of the set.  
  | 
|   | 
| subroutine  | uset_i4_add (this, key) | 
|   | Add an integer key to the set.  
  | 
|   | 
| subroutine  | uset_i4_remove (this, key) | 
|   | Remove an integer key from the set.  
  | 
|   | 
| subroutine  | uset_i4_iter_init (this) | 
|   | Initialise an integer based set iterator.  
  | 
|   | 
| logical function  | uset_i4_iter_next (this) | 
|   | Advance an integer based set iterator.  
  | 
|   | 
| integer function, pointer  | uset_i4_iter_value (this) | 
|   | Return the current value of an integer based set iterator.  
  | 
|   | 
| subroutine  | uset_i8_init (this, n) | 
|   | Initialize an empty integer*8 based unordered set.  
  | 
|   | 
| subroutine  | uset_i8_free (this) | 
|   | Destroy an integer*8 based unordered set.  
  | 
|   | 
| pure integer function  | uset_i8_size (this) | 
|   | Return the cardinality of an integer*8 based unordered set.  
  | 
|   | 
| subroutine  | uset_i8_clear (this) | 
|   | Clear an integer*8 based unordered 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_remove (this, key) | 
|   | Remove an integer*8 key from 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(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.  
  | 
|   | 
| subroutine  | uset_r8_free (this) | 
|   | Destroy a double precision based unordered set.  
  | 
|   | 
| pure integer function  | uset_r8_size (this) | 
|   | Return the cardinality of a double precision based unordered set.  
  | 
|   | 
| subroutine  | uset_r8_clear (this) | 
|   | Clear 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.  
  | 
|   | 
| subroutine  | uset_r8_add (this, key) | 
|   | Add a double precision key to the set.  
  | 
|   | 
| subroutine  | uset_r8_remove (this, key) | 
|   | Remove a double precision key from the set.  
  | 
|   | 
| subroutine  | uset_r8_iter_init (this) | 
|   | Initialise a double precision based set iterator.  
  | 
|   | 
| logical function  | uset_r8_iter_next (this) | 
|   | Advance a double precision based set iterator.  
  | 
|   | 
| real(kind=dp) function, pointer  | uset_r8_iter_value (this) | 
|   | Return the current value of a double precision based set iterator.  
  | 
|   | 
A unordered set storing a fixed data-type data