Update set (extra) foreach implementation

This commit is contained in:
2022-06-08 09:58:16 +03:00
parent 659c329880
commit 2f0a3a3c8e
2 changed files with 29 additions and 8 deletions
+7 -4
View File
@@ -6,11 +6,14 @@
#ifndef LIBCDSB_EXTRA_SET_H
#define LIBCDSB_EXTRA_SET_H
#define vset_foreach libcdsb_vset_foreach
typedef int (*vset_foreach_callback)(const void* value, vtype type, void* data);
extern _Bool libcdsb_vset_find (vtype_value* x, vtype_set* s, const void* value, vtype type, _Bool cut);
extern _Bool libcdsb_vset_insert(vtype_set* x, const void* value, vtype type);
extern int libcdsb_vset_foreach(const vtype_set* x, void* data, int (*callback)(const void* value, vtype type, void* data)) LIBCDSB_nt__ LIBCDSB_nn13__;
#define vset_foreach(x, data, callback) libcdsb_vset_foreach(x, data, callback, 0)
extern _Bool libcdsb_vset_find (vtype_value* x, vtype_set* s, const void* value, vtype type, _Bool cut) LIBCDSB_nt__ LIBCDSB_nn23__;
extern _Bool libcdsb_vset_insert(vtype_set* x, const void* value, vtype type) LIBCDSB_nt__ LIBCDSB_nn12__;
extern int libcdsb_vset_foreach(vtype_set* x, void* data, vset_foreach_callback, _Bool flush) LIBCDSB_nt__ LIBCDSB_nn13__;
#endif /* LIBCDSB_EXTRA_SET_H */