Serene Runtime 1.0.0
C runtime for the Serene programming language
Loading...
Searching...
No Matches
hmap_node_t Struct Reference

#include <hashmap.h>

Data Fields

hmap_bitmap_t datamap
 
hmap_bitmap_t nodemap
 
hmap_data_tentries
 This is really a (void **) which each entry in the array will be either (mutually exclusive):
 

Detailed Description

Definition at line 78 of file hashmap.h.

Field Documentation

◆ datamap

hmap_bitmap_t hmap_node_t::datamap

Definition at line 79 of file hashmap.h.

◆ entries

hmap_data_t* hmap_node_t::entries

This is really a (void **) which each entry in the array will be either (mutually exclusive):

  • A pointer to a hmap_kv_entry_t (or a collision node), which mean the actual key/value is in that slot.
  • A pointer to the next hmap_node_t (a child of the current node) that is determined by the corresponding bit in the datamap and nodemap bitmaps.

For example, if datamap is 0b...110 and nodemap is 0b...001 then the first entry, is a child node (a pointer to hmap_node_t) and second and third entries are pointers to hmap_kv_entry_t or simply the key/value

Definition at line 92 of file hashmap.h.

◆ nodemap

hmap_bitmap_t hmap_node_t::nodemap

Definition at line 80 of file hashmap.h.


The documentation for this struct was generated from the following file: