Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/blenlib/BLI_iterator.h')
-rw-r--r--source/blender/blenlib/BLI_iterator.h44
1 files changed, 21 insertions, 23 deletions
diff --git a/source/blender/blenlib/BLI_iterator.h b/source/blender/blenlib/BLI_iterator.h
index 265af6b7e53..4513ecdff10 100644
--- a/source/blender/blenlib/BLI_iterator.h
+++ b/source/blender/blenlib/BLI_iterator.h
@@ -22,35 +22,33 @@
*/
typedef struct BLI_Iterator {
- void *current; /* current pointer we iterate over */
- void *data; /* stored data required for this iterator */
- bool skip;
- bool valid;
+ void *current; /* current pointer we iterate over */
+ void *data; /* stored data required for this iterator */
+ bool skip;
+ bool valid;
} BLI_Iterator;
typedef void (*IteratorCb)(BLI_Iterator *iter);
typedef void (*IteratorBeginCb)(BLI_Iterator *iter, void *data_in);
#define ITER_BEGIN(callback_begin, callback_next, callback_end, _data_in, _type, _instance) \
-{ \
- _type _instance; \
- IteratorCb callback_end_func = callback_end; \
- BLI_Iterator iter_macro; \
- iter_macro.skip = false; \
- iter_macro.valid = true; \
- for (callback_begin(&iter_macro, (_data_in)); \
- iter_macro.valid; \
- callback_next(&iter_macro)) \
- { \
- if (iter_macro.skip) { \
- iter_macro.skip = false; \
- continue; \
- } \
- _instance = (_type ) iter_macro.current;
+ { \
+ _type _instance; \
+ IteratorCb callback_end_func = callback_end; \
+ BLI_Iterator iter_macro; \
+ iter_macro.skip = false; \
+ iter_macro.valid = true; \
+ for (callback_begin(&iter_macro, (_data_in)); iter_macro.valid; callback_next(&iter_macro)) { \
+ if (iter_macro.skip) { \
+ iter_macro.skip = false; \
+ continue; \
+ } \
+ _instance = (_type)iter_macro.current;
-#define ITER_END \
- } \
- callback_end_func(&iter_macro); \
-} ((void)0)
+#define ITER_END \
+ } \
+ callback_end_func(&iter_macro); \
+ } \
+ ((void)0)
#endif /* __BLI_ITERATOR_H__ */