]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/darray.h
Update bcachefs sources to b9bd69421f73 bcachefs: x-macro-ify inode flags enum
[bcachefs-tools-debian] / libbcachefs / darray.h
index 114f86b45fd52ffc0e3be365f7eb4109e0358fdc..87b4b2d1ec766f65e97c40cab918b256015ae3ed 100644 (file)
@@ -69,9 +69,15 @@ static inline int __darray_make_room(darray_void *d, size_t t_size, size_t more,
        _ret;                                                           \
 })
 
+#define darray_remove_item(_d, _pos)                                   \
+       array_remove_item((_d)->data, (_d)->nr, (_pos) - (_d)->data)
+
 #define darray_for_each(_d, _i)                                                \
        for (_i = (_d).data; _i < (_d).data + (_d).nr; _i++)
 
+#define darray_for_each_reverse(_d, _i)                                        \
+       for (_i = (_d).data + (_d).nr - 1; _i >= (_d).data; --_i)
+
 #define darray_init(_d)                                                        \
 do {                                                                   \
        (_d)->data = NULL;                                              \