Skip to content

Version 2.0.0#1

Merged
bamless merged 6 commits intomasterfrom
hashmap-rework
Mar 22, 2026
Merged

Version 2.0.0#1
bamless merged 6 commits intomasterfrom
hashmap-rework

Conversation

@bamless
Copy link
Owner

@bamless bamless commented Mar 22, 2026

  • Breaking changes on hashmap implementation:
    Reworked the hashmap implementation to make possible the usage of ext_hmap_get and
    ext_hmap_get_default family of functions as expressions. Now it is possible to do
    things like:
    Entry* e = hmap_get_cstr(&hmap, "key");
    if(e != NULL) {
        ...
    }
  • Added Ext_Array and Ext_HashMap/Ext_Entry macros to define required struct layout
    for both dynamic arrays and hashmap in-line.
    This makes it possible to skip declaring the full struct by hand when we do not need
    to reference it by name (i.e. create variables to it, pass it to functions, etc.):
    Array(int) int_array = {0};
    HashMap(char*, int) int_map = {0};
    Declaring full struct layout by hand is still supported.
  • Breaking change: removed deprecated functions and macros:
    1. ext_strdup_alloc and ext_memdup_alloc
    2. EXT_DEFER_LOOP

@bamless bamless closed this Mar 22, 2026
@bamless bamless reopened this Mar 22, 2026
@bamless bamless merged commit aa5e70f into master Mar 22, 2026
6 checks passed
@bamless bamless deleted the hashmap-rework branch March 22, 2026 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant