46 size_t collisions, log_hashsize;
57 void dump(std::ostream &);
69 virtual size_t hashfn(
const void *)
const = 0;
70 virtual bool cmpfn(
const void *,
const void *)
const = 0;
71 virtual bool cmpfn(
const void *,
size_t)
const = 0;
72 virtual const void *getkey(uint32_t)
const = 0;
73 virtual void *getval(uint32_t) = 0;
74 virtual uint32_t limit() = 0;
75 virtual void resizedata(
size_t) = 0;
76 virtual void moveentry(
size_t,
size_t) = 0;
79 size_t find(
const void *key, lookup_cache *cache)
const;
80 size_t find_next(
const void *key, lookup_cache *cache)
const;
81 void *lookup(
const void *key, lookup_cache *cache =
nullptr);
82 void *lookup_next(
const void *key, lookup_cache *cache =
nullptr);
83 size_t hv_insert(
const void *key, lookup_cache *cache =
nullptr);
86 size_t remove(
const void *key, lookup_cache *cache =
nullptr);