set_u64

Set type for uint64_t's
git clone git://www.tkruger.se/smallset.git
Log | Files | Refs | README

set_u64.h (569B)


      1 #ifndef SET_U64_H
      2 #define SET_U64_H
      3 
      4 #include <stdint.h>
      5 #include <stdlib.h>
      6 #include <sys/queue.h>
      7 
      8 #define SET_U64_DEFAULT_SIZE (255)
      9 
     10 typedef struct list_entry {
     11   uint64_t value;
     12   LIST_ENTRY(list_entry) entries;
     13 } le_t;
     14 
     15 typedef struct {
     16   size_t nelts;
     17   size_t nalloc;
     18 
     19   LIST_HEAD(listhead, list_entry) * head;
     20 } set_u64_t;
     21 
     22 void set_u64_init_size(set_u64_t *s, const size_t size);
     23 void set_u64_init(set_u64_t *s);
     24 void set_u64_clear(set_u64_t *s);
     25 size_t set_u64_lookup(le_t *r, set_u64_t *s, uint64_t v);
     26 int set_u64_insert(set_u64_t *s, uint64_t v);
     27 
     28 #endif