Used typedef

This commit is contained in:
2025-06-06 10:02:35 -05:00
parent 8fb4ca0749
commit 35f0d4cc10
2 changed files with 54 additions and 61 deletions

View File

@ -5,45 +5,45 @@
#include <stdint.h>
#include <stdbool.h>
struct KekeArray {
typedef struct {
size_t type_size;
size_t len;
size_t max_len;
void *content;
};
} KekeArray;
void *keke_array_alloc(size_t initial_len, size_t type_size);
void keke_array_free(struct KekeArray *array);
KekeArray *keke_array_alloc(size_t initial_len, size_t type_size);
void keke_array_free(KekeArray *array);
void keke_array_set(struct KekeArray *array, size_t index, const void *value);
void *keke_array_get(struct KekeArray *array, size_t index);
void keke_array_set(KekeArray *array, size_t index, const void *value);
void *keke_array_get(KekeArray *array, size_t index);
int keke_array_copy(struct KekeArray *array, size_t index, void *value);
void keke_array_set_len(struct KekeArray *array, size_t new_len);
void keke_array_insert(struct KekeArray *array, size_t index, const void *value);
void keke_array_remove(struct KekeArray *array, size_t index, void *value);
void keke_array_push(struct KekeArray *array, const void *value);
void keke_array_pop(struct KekeArray *array, void *value);
void keke_array_delete(struct KekeArray *array, size_t index);
int keke_array_copy(KekeArray *array, size_t index, void *value);
void keke_array_set_len(KekeArray *array, size_t new_len);
void keke_array_insert(KekeArray *array, size_t index, const void *value);
void keke_array_remove(KekeArray *array, size_t index, void *value);
void keke_array_push(KekeArray *array, const void *value);
void keke_array_pop(KekeArray *array, void *value);
void keke_array_delete(KekeArray *array, size_t index);
struct KekeArray *keke_array_yoink(struct KekeArray *array, size_t start_index, size_t len);
int keke_array_insert_data(struct KekeArray *array, size_t index, void *data, size_t len);
int keke_array_plop(struct KekeArray *array, size_t index, struct KekeArray *array2);
KekeArray *keke_array_yoink(KekeArray *array, size_t start_index, size_t len);
int keke_array_insert_data(KekeArray *array, size_t index, void *data, size_t len);
int keke_array_plop(KekeArray *array, size_t index, KekeArray *array2);
typedef void (*Foreach_func)(void *, size_t, struct KekeArray *);
void keke_array_foreach(struct KekeArray *array, Foreach_func callback);
struct KekeArray *keke_array_clone(struct KekeArray *array);
typedef void (*Foreach_func)(void *, size_t, KekeArray *);
void keke_array_foreach(KekeArray *array, Foreach_func callback);
KekeArray *keke_array_clone(KekeArray *array);
void keke_array_fill(struct KekeArray *array, const void *value);
void keke_array_reverse(struct KekeArray *array);
void keke_array_fill(KekeArray *array, const void *value);
void keke_array_reverse(KekeArray *array);
typedef bool (*Test_func)(void *, size_t, struct KekeArray *);
bool keke_array_some(struct KekeArray *array, Test_func test);
bool keke_array_all(struct KekeArray *array, Test_func test);
typedef bool (*Test_func)(void *, size_t, KekeArray *);
bool keke_array_some(KekeArray *array, Test_func test);
bool keke_array_all(KekeArray *array, Test_func test);
struct KekeArray *keke_array_filter(struct KekeArray *array, Test_func test);
KekeArray *keke_array_filter(KekeArray *array, Test_func test);
typedef void (*B_func)(void *, void *);
void keke_array_reduce(struct KekeArray *array, B_func op, void *acc);
void keke_array_reduce(KekeArray *array, B_func op, void *acc);
#endif