X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Fhtable%2Fhtable_type.h;fp=ccan%2Fhtable%2Fhtable_type.h;h=bb5ea086b7319fd3cd1c19b0dceece1974cfe8d4;hb=57a1b0f31e516740463104912ecfc740c834c6cd;hp=192824c2d9c80649026021b5cd745e6ed63d2326;hpb=1cebc0895d236bfc5cd6797d03e02c55c773ddf1;p=ccan diff --git a/ccan/htable/htable_type.h b/ccan/htable/htable_type.h index 192824c2..bb5ea086 100644 --- a/ccan/htable/htable_type.h +++ b/ccan/htable/htable_type.h @@ -35,6 +35,9 @@ * bool _del(struct *ht, const *e); * bool _delkey(struct *ht, const *k); * + * Delete by iterator: + * bool _delval(struct *ht, struct _iter *i); + * * Find and return the (first) matching element, or NULL: * type *_get(const struct @name *ht, const *k); * @@ -147,6 +150,11 @@ return name##_del(ht, elem); \ return false; \ } \ + static inline UNNEEDED void name##_delval(struct name *ht, \ + struct name##_iter *iter) \ + { \ + htable_delval(&ht->raw, &iter->i); \ + } \ static inline UNNEEDED type *name##_pick(const struct name *ht, \ size_t seed, \ struct name##_iter *iter) \