Derive-C
Loading...
Searching...
No Matches
container/bitset.c

Examples for using bitset containers.

Examples for using bitset containers.

#define EXCLUSIVE_END_INDEX 128
#define NAME bitset
static void example_basic(DC_LOGGER* parent) {
DC_SCOPED(DC_LOGGER) log = DC_LOGGER_NEW(parent, "%s", __func__);
DC_SCOPED(bitset) bs = bitset_new();
DC_LOG(log, DC_INFO, "setting bits at index 0 and 5");
bitset_set(&bs, 0, true);
bitset_set(&bs, 5, true);
DC_LOG(log, DC_INFO, "bitset: %s", DC_DEBUG(bitset_debug, &bs));
for (bitset_index_t i = 0; i < 128; i++) {
if (bitset_get(&bs, i)) {
DC_LOG(log, DC_INFO, "bit at index %u is set", i);
}
}
DC_FOR_CONST(bitset, &bs, iter, index) { DC_LOG(log, DC_INFO, "iterated index: %u", index); }
}
int main() {
root = NS(DC_LOGGER,
new_global)((NS(DC_LOGGER, global_config)){.stream = stdout, .ansi_colours = true},
(dc_log_id){"bitset"});
example_basic(&root);
return 0;
}
int main()
Definition alloc.c:120
static void example_basic(DC_LOGGER *parent)
Definition bitset.c:11
#define DC_DEBUG(DEBUG_FN, DEBUG_PTR)
Definition dump.h:92
#define DC_LOGGER
Definition file.h:168
#define DC_FOR_CONST(TYPE, INSTANCE, ITER, ITEM)
Definition for.h:14
#define NS(pre, post)
Definition namespace.h:14
#define DC_SCOPED(type,...)
RAII in C. Call the destructor when the variable goes out of scope.
Definition scope.h:5
#define DC_LOGGER_NEW(...)
Definition prelude.h:21
#define DC_LOG(...)
Definition prelude.h:20
@ DC_INFO
Definition trait.h:8