hash_node_t Derived Type

type, private :: hash_node_t

This is a linked list to avoid collisions in the hash table buckets.


Inherits

type~~hash_node_t~~InheritsGraph type~hash_node_t hash_node_t type~hash_node_t->type~hash_node_t next type~json_value json_value type~hash_node_t->type~json_value value type~json_value->type~json_value previous, next, parent, children, tail

Inherited by

type~~hash_node_t~~InheritedByGraph type~hash_node_t hash_node_t type~hash_node_t->type~hash_node_t next type~json_hash_table json_hash_table type~json_hash_table->type~hash_node_t buckets type~json_file json_file type~json_file->type~json_hash_table hash

Components

Type Visibility Attributes Name Initial
character(kind=CK, len=:), private, allocatable :: key

string key. if case_sensitive_keys=False then this will always be lowercase.

type(hash_node_t), private, pointer :: next => null()

pointer to the next node in the linked list

type(json_value), private, pointer :: value => null()

associated value in the hash table


Source Code

    type :: hash_node_t
        !! This is a linked list to avoid collisions in the hash table buckets.
        private
        character(kind=CK,len=:), allocatable :: key !! string key. if `case_sensitive_keys=False` then
                                                     !! this will always be lowercase.
        type(json_value), pointer :: value => null() !! associated value in the hash table
        type(hash_node_t), pointer :: next => null() !! pointer to the next node in the linked list
    end type hash_node_t