2026-10-18 02:06:11 +02:00

39 lines
848 B
C

#ifndef COMMON_H
#define COMMON_H
#include <stdbool.h>
#include <stddef.h>
#include <stdio.h>
size_t next_word(char line[], size_t line_size, FILE *file, int *ch);
void array_push(
void **data, size_t *capacity, size_t *size, void *elem, size_t elem_size);
void array_push_n(void **data,
size_t *capacity,
size_t *size,
void *elems,
size_t elem_size,
size_t elem_count);
typedef int (*CmpFn)(const void *, const void *);
void *binary_search(void *data,
size_t count,
const void *entry,
size_t entry_size,
size_t *out_idx,
CmpFn cmp);
typedef struct RbTree RbTree;
RbTree *rbtree_new(size_t key_size, size_t val_size, CmpFn cmp);
void rbtree_free(RbTree *t);
void rbtree_insert(RbTree *t, const void *key, void *val);
void *rbtree_get(RbTree *t, const void *key);
void test_common(void);
#endif