bunkum

an old and silly c99 web server with some fun features
Log | Files | Refs | README

vec.h (587B)


      1 #ifndef SHITVEC_H
      2 #define SHITVEC_H
      3 
      4 #include <stddef.h>
      5 #include <stdbool.h>
      6 
      7 #define SHITVEC_INIT_SZ 1024
      8 
      9 typedef struct vec {
     10     void* arr;
     11     size_t e_sz;
     12     size_t alloc_sz;
     13     size_t vec_sz;
     14 } vec_t;
     15 
     16 typedef int(*sv_cmp_t)(void*, void*);
     17 
     18 vec_t vec_new(size_t e_sz);
     19 void* vec_get(vec_t* sv, size_t index);
     20 void* vec_last(vec_t* sv);
     21 void vec_push(vec_t* sv, void* item);
     22 void vec_subpush(vec_t* sv, void* item, size_t sz);
     23 int vec_check(vec_t* sv, void* item, sv_cmp_t cmp);
     24 void vec_sort(vec_t* sv, int(*cmp)(const void*, const void*));
     25 void vec_free(vec_t* sv);
     26 
     27 #endif
     28 
     29