CAPS Universe documentation  1.0.4
All you need to know to be successful

An example on how to use it.

Just define struct caps_table_desc for your data. Initialize the element size and define a growing element count, the table should be extended when its current size is exhaused.

struct my_elements {
unsigned my_first_var;
double my_second_var;
};
static const struct caps_table_desc my_table_desc {
.element_sz = sizeof(my_elements),
.increment = 10,
};
struct caps_var_table my_var_table;
caps_table_init(&my_var_table, &my_table_desc);
my_element = (struct my_elements*)caps_table_base_get(&my_var_table);
my_element[caps_table_element_count_get(&my_var_table)] = […];
caps_table_cleanup(&my_var_table);
void caps_table_cleanup(struct caps_var_table *tbl)
Definition: libcapstable.c:85
size_t caps_table_element_count_increment(struct caps_var_table *tbl)
Definition: libcapstable.c:119
size_t caps_table_element_count_get(const struct caps_var_table *tbl)
Definition: libcapstable.c:111
void * caps_table_base_get(const struct caps_var_table *tbl)
Definition: libcapstable.c:103
void caps_table_element_ensure_free(struct caps_var_table *tbl)
Definition: libcapstable.c:94
void caps_libtable_init(void)
Definition: libcapstable.c:32
void caps_table_init(struct caps_var_table *tbl, const struct caps_table_desc *td)
Definition: libcapstable.c:75
Definition: libcapstable.h:99
size_t element_sz
Definition: libcapstable.h:100
size_t increment
Definition: libcapstable.h:101
Variable table.
Definition: libcapstable.h:105