|
Derive-C
|
#include <stdbool.h>#include <stddef.h>#include <stdint.h>#include <stdlib.h>#include "utils.h"#include <derive-c/core/debug/gdb_marker.h>#include <derive-c/core/debug/memory_tracker.h>#include <derive-c/core/debug/mutation_tracker.h>#include <derive-c/core/prelude.h>#include <derive-c/core/alloc/def.h>#include <derive-c/core/self/def.h>#include <derive-c/core/alloc/undef.h>#include <derive-c/container/map/trait.h>#include <derive-c/core/self/undef.h>

Go to the source code of this file.
Classes | |
| struct | value_t |
| struct | KEY_ENTRY |
| struct | SELF |
| An allocator that prints to stdout when it allocates or frees memory. More... | |
| struct | KV_PAIR |
| struct | KV_PAIR_CONST |
Macros | |
| #define | KEY map_key_t |
| A simple open-addressed hashmap using robin-hood hashing. | |
| #define | KEY_HASH key_hash |
| #define | KEY_EQ NS(SELF, key_eq_default) |
| #define | KEY_DELETE NS(SELF, key_delete_default) |
| #define | KEY_CLONE NS(SELF, key_clone_default) |
| #define | VALUE value_t |
| #define | VALUE_DELETE NS(SELF, value_delete_default) |
| #define | VALUE_CLONE NS(SELF, value_clone_default) |
| #define | KEY_ENTRY NS(SELF, key_entry) |
| #define | INVARIANT_CHECK(self) |
| #define | KV_PAIR NS(SELF, kv) |
| #define | KV_PAIR_CONST NS(SELF, kv_const) |
Typedefs | |
| typedef int | KEY |
| typedef KEY | key_t |
| typedef KV_PAIR const * | item |
Functions | |
| static size_t | KEY_HASH (KEY const *key) |
| static bool | KEY_EQ (KEY const *key_1, KEY const *key_2) |
| static void | KEY_DELETE (KEY *key) |
| static KEY | KEY_CLONE (KEY const *key) |
| static void | VALUE_DELETE (VALUE *value) |
| static VALUE | VALUE_CLONE (VALUE const *value) |
| static SELF | new_with_capacity_for (size_t capacity, ALLOC *alloc) |
| static SELF | new (ALLOC *alloc) |
| static SELF | clone (SELF const *self) |
| static void | delete (SELF *self) |
| static VALUE * | insert (SELF *self, KEY key, VALUE value) |
| static void | extend_capacity_for (SELF *self, size_t expected_items) |
| static VALUE * | try_insert (SELF *self, KEY key, VALUE value) |
| static VALUE * | try_write (SELF *self, KEY key) |
| static VALUE * | write (SELF *self, KEY key) |
| static VALUE const * | try_read (SELF const *self, KEY key) |
| static VALUE const * | read (SELF const *self, KEY key) |
| static bool | try_remove (SELF *self, KEY key, VALUE *destination) |
| static VALUE | remove (SELF *self, KEY key) |
| static void | delete_entry (SELF *self, KEY key) |
| static size_t | size (SELF const *self) |
| static bool | empty_item (KV_PAIR const *const *item) |
| static KV_PAIR const * | next (ITER *iter) |
| static bool | empty (ITER const *iter) |
| static ITER | get_iter (SELF *self) |
| static bool | empty_item (KV_PAIR_CONST const *const *item) |
| static KV_PAIR_CONST const * | next (ITER_CONST *iter) |
| static bool | empty (ITER_CONST const *iter) |
| static ITER_CONST | get_iter_const (SELF const *self) |
| TRAIT_MAP (SELF) | |
| #define INVARIANT_CHECK | ( | self | ) |
Definition at line 91 of file template.h.
| #define KEY map_key_t |
A simple open-addressed hashmap using robin-hood hashing.
Definition at line 22 of file template.h.
Definition at line 46 of file template.h.
Definition at line 41 of file template.h.
Definition at line 74 of file template.h.
Definition at line 36 of file template.h.
| #define KEY_HASH key_hash |
Definition at line 31 of file template.h.
Definition at line 386 of file template.h.
Definition at line 457 of file template.h.
| #define VALUE value_t |
Definition at line 57 of file template.h.
Definition at line 66 of file template.h.
Definition at line 61 of file template.h.
| typedef KV_PAIR_CONST const* item |
Definition at line 394 of file template.h.
| typedef int KEY |
Definition at line 23 of file template.h.
Definition at line 70 of file template.h.
Definition at line 132 of file template.h.

|
static |
Definition at line 440 of file template.h.

Definition at line 376 of file template.h.

|
static |
Definition at line 420 of file template.h.

|
static |
Definition at line 491 of file template.h.

|
static |
|
static |
|
static |
Definition at line 175 of file template.h.


|
static |
Definition at line 426 of file template.h.

|
static |
Definition at line 497 of file template.h.

Definition at line 258 of file template.h.

Definition at line 47 of file template.h.
|
static |
Definition at line 42 of file template.h.
Definition at line 37 of file template.h.
|
static |
Definition at line 98 of file template.h.

|
static |
Definition at line 405 of file template.h.

|
static |
Definition at line 476 of file template.h.

Definition at line 306 of file template.h.

Definition at line 370 of file template.h.

|
static |
| TRAIT_MAP | ( | SELF | ) |
Definition at line 196 of file template.h.


Definition at line 288 of file template.h.

Definition at line 312 of file template.h.

Definition at line 264 of file template.h.

Definition at line 67 of file template.h.
|
static |
Definition at line 62 of file template.h.
Definition at line 282 of file template.h.
