|
Derive-C
|
#include <derive-c/core/includes/def.h>#include "includes.h"#include <derive-c/core/alloc/def.h>#include <derive-c/core/self/def.h>#include <derive-c/core/index/bits_to_type/def.h>#include <derive-c/core/index/type_to_strong/def.h>#include <derive-c/utils/slot/template.h>#include <derive-c/core/index/type_to_strong/undef.h>#include <derive-c/core/index/bits_to_type/undef.h>#include <derive-c/core/self/undef.h>#include <derive-c/core/alloc/undef.h>#include <derive-c/core/includes/undef.h>Go to the source code of this file.
Data Structures | |
| struct | VALUE |
| struct | SELF |
| An allocator that prints to stdout when it allocates or frees memory. More... | |
| struct | ITER |
| struct | IV_PAIR |
| struct | ITER_CONST |
| struct | IV_PAIR_CONST |
Macros | |
| #define | INDEX_BITS 32 |
| #define | BLOCK_INDEX_BITS 8 |
| #define | VALUE value_t |
| #define | VALUE_DELETE value_delete |
| #define | VALUE_CLONE value_clone |
| #define | VALUE_DEBUG value_debug |
| #define | SLOT NS(NAME, slot) |
| #define | SLOT_INDEX_TYPE INDEX_TYPE |
| #define | SLOT_VALUE VALUE |
| #define | SLOT_VALUE_CLONE VALUE_CLONE |
| #define | SLOT_VALUE_CLONE VALUE_CLONE |
| #define | SLOT_VALUE_DELETE VALUE_DELETE |
| #define | INTERNAL_NAME SLOT |
| #define | INVARIANT_CHECK(self) |
| #define | ITER NS(SELF, iter) |
| #define | IV_PAIR NS(ITER, item) |
| #define | ITER_INVARIANT_CHECK(iter) |
| #define | ITER_CONST NS(SELF, iter_const) |
| #define | IV_PAIR_CONST NS(ITER_CONST, item) |
| #define | ITER_CONST_INVARIANT_CHECK(iter) |
Typedefs | |
| typedef VALUE | value_t |
| typedef ALLOC | alloc_t |
| typedef SLOT | PRIV(block)[DC_ARENA_CHUNKED_BLOCK_SIZE(BLOCK_INDEX_BITS)] |
Functions | |
| DC_STATIC_ASSERT (INDEX_BITS > BLOCK_INDEX_BITS, "The number of bits for offset within a block must be " "less than the number of bits used for an index") | |
| static void | VALUE_DELETE (value_t *self) |
| static value_t | VALUE_CLONE (value_t const *self) |
| static void | VALUE_DEBUG (VALUE const *, dc_debug_fmt, FILE *stream) |
| DC_STATIC_ASSERT (sizeof(VALUE), "VALUE must be a non-zero sized type") | |
| static SELF | new (ALLOC *alloc) |
| static INDEX | insert (SELF *self, VALUE value) |
| static VALUE const * | try_read (SELF const *self, INDEX index) |
| static VALUE const * | read (SELF const *self, INDEX index) |
| static VALUE * | try_write (SELF *self, INDEX index) |
| static VALUE * | write (SELF *self, INDEX index) |
| static SELF | clone (SELF const *self) |
| static INDEX_TYPE | size (SELF const *self) |
| static bool | full (SELF const *self) |
| static bool | try_remove (SELF *self, INDEX index, VALUE *destination) |
| static VALUE | remove (SELF *self, INDEX index) |
| static INDEX_TYPE PRIV | next_index_value (SELF const *self, INDEX_TYPE from_index) |
| static IV_PAIR | iv_empty () |
| static bool | empty_item (IV_PAIR const *item) |
| static bool | empty (ITER const *iter) |
| static IV_PAIR | next (ITER *iter) |
| static ITER | get_iter (SELF *self) |
| static void | delete (SELF *self) |
| static IV_PAIR_CONST | iv_const_empty () |
| static bool | empty_item (IV_PAIR_CONST const *item) |
| static bool | empty (ITER_CONST const *iter) |
| static IV_PAIR_CONST | next (ITER_CONST *iter) |
| static ITER_CONST | get_iter_const (SELF const *self) |
| static void | debug (SELF const *self, dc_debug_fmt fmt, FILE *stream) |
| DC_TRAIT_ARENA (SELF) | |
Variables | |
| static const size_t | max_entries = MAX_INDEX |
| #define BLOCK_INDEX_BITS 8 |
Definition at line 20 of file template.h.
| #define INDEX_BITS 32 |
Definition at line 13 of file template.h.
| #define INTERNAL_NAME SLOT |
Definition at line 70 of file template.h.
| #define INVARIANT_CHECK | ( | self | ) |
Definition at line 88 of file template.h.
Definition at line 320 of file template.h.
Definition at line 398 of file template.h.
| #define ITER_CONST_INVARIANT_CHECK | ( | iter | ) |
Definition at line 407 of file template.h.
| #define ITER_INVARIANT_CHECK | ( | iter | ) |
Definition at line 329 of file template.h.
Definition at line 321 of file template.h.
| #define IV_PAIR_CONST NS(ITER_CONST, item) |
Definition at line 399 of file template.h.
Definition at line 63 of file template.h.
| #define SLOT_INDEX_TYPE INDEX_TYPE |
Definition at line 65 of file template.h.
| #define SLOT_VALUE VALUE |
Definition at line 66 of file template.h.
| #define SLOT_VALUE_CLONE VALUE_CLONE |
Definition at line 67 of file template.h.
| #define SLOT_VALUE_CLONE VALUE_CLONE |
Definition at line 67 of file template.h.
| #define SLOT_VALUE_DELETE VALUE_DELETE |
Definition at line 69 of file template.h.
| #define VALUE value_t |
Definition at line 31 of file template.h.
| #define VALUE_CLONE value_clone |
Definition at line 37 of file template.h.
| #define VALUE_DEBUG value_debug |
Definition at line 39 of file template.h.
| #define VALUE_DELETE value_delete |
Definition at line 35 of file template.h.
Definition at line 61 of file template.h.
| typedef SLOT PRIV(block)[DC_ARENA_CHUNKED_BLOCK_SIZE(BLOCK_INDEX_BITS)] |
Definition at line 73 of file template.h.
| typedef VALUE value_t |
Definition at line 60 of file template.h.
Definition at line 215 of file template.h.
| DC_STATIC_ASSERT | ( | INDEX_BITS | , |
| BLOCK_INDEX_BITS | , | ||
| "The number of bits for offset within a block must be " "less than the number of bits used for an index" | ) |
| DC_STATIC_ASSERT | ( | sizeof(VALUE) | , |
| "VALUE must be a non-zero sized type" | ) |
| DC_TRAIT_ARENA | ( | SELF | ) |
|
static |
Definition at line 458 of file template.h.
|
static |
Definition at line 379 of file template.h.
|
static |
Definition at line 346 of file template.h.
|
static |
Definition at line 425 of file template.h.
|
static |
Definition at line 344 of file template.h.
|
static |
Definition at line 423 of file template.h.
|
static |
Definition at line 257 of file template.h.
Definition at line 370 of file template.h.
|
static |
Definition at line 449 of file template.h.
Definition at line 127 of file template.h.
|
static |
Definition at line 419 of file template.h.
|
static |
Definition at line 341 of file template.h.
Definition at line 99 of file template.h.
Definition at line 352 of file template.h.
|
static |
Definition at line 431 of file template.h.
|
static |
Definition at line 301 of file template.h.
Definition at line 199 of file template.h.
Definition at line 292 of file template.h.
|
static |
Definition at line 252 of file template.h.
Definition at line 180 of file template.h.
Definition at line 264 of file template.h.
|
static |
|
static |
Definition at line 209 of file template.h.
|
static |
Definition at line 262 of file template.h.