diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2017-02-09 17:26:28 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2017-02-09 17:26:28 +0300 |
commit | ff4dc7abfad6f4dc0f14ae158544f69ee981b7fe (patch) | |
tree | 5069aae1901aef4cee4750dc8e1c322538139701 | |
parent | 0b473168cd291615d81ad31ce8254a90ce4f2738 (diff) |
Change ITER_BEGIN to work in C++ (include object type in the macro)
-rw-r--r-- | source/blender/blenkernel/BKE_collection.h | 4 | ||||
-rw-r--r-- | source/blender/blenkernel/BKE_layer.h | 8 | ||||
-rw-r--r-- | source/blender/blenlib/BLI_iterator.h | 4 |
3 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/blenkernel/BKE_collection.h b/source/blender/blenkernel/BKE_collection.h index c3f461dacd6..90904cdfddd 100644 --- a/source/blender/blenkernel/BKE_collection.h +++ b/source/blender/blenkernel/BKE_collection.h @@ -70,7 +70,7 @@ void BKE_scene_objects_Iterator_end(struct Iterator *iter); ITER_BEGIN(BKE_scene_collections_Iterator_begin, \ BKE_scene_collections_Iterator_next, \ BKE_scene_collections_Iterator_end, \ - scene, _sc) + scene, SceneCollection, _sc) #define FOREACH_SCENE_COLLECTION_END \ ITER_END @@ -79,7 +79,7 @@ void BKE_scene_objects_Iterator_end(struct Iterator *iter); ITER_BEGIN(BKE_scene_objects_Iterator_begin, \ BKE_scene_objects_Iterator_next, \ BKE_scene_objects_Iterator_end, \ - scene, _ob) + scene, Object, _ob) #define FOREACH_SCENE_OBJECT_END \ ITER_END diff --git a/source/blender/blenkernel/BKE_layer.h b/source/blender/blenkernel/BKE_layer.h index 51fe28a8bea..9bee353bb3a 100644 --- a/source/blender/blenkernel/BKE_layer.h +++ b/source/blender/blenkernel/BKE_layer.h @@ -138,7 +138,7 @@ void BKE_visible_bases_Iterator_end(Iterator *iter); ITER_BEGIN(BKE_selected_objects_Iterator_begin, \ BKE_selected_objects_Iterator_next, \ BKE_selected_objects_Iterator_end, \ - sl, _ob) + sl, Object, _ob) #define FOREACH_SELECTED_OBJECT_END \ ITER_END @@ -147,7 +147,7 @@ void BKE_visible_bases_Iterator_end(Iterator *iter); ITER_BEGIN(BKE_visible_objects_Iterator_begin, \ BKE_visible_objects_Iterator_next, \ BKE_visible_objects_Iterator_end, \ - sl, _ob) + sl, Object, _ob) #define FOREACH_VISIBLE_OBJECT_END \ ITER_END @@ -157,7 +157,7 @@ void BKE_visible_bases_Iterator_end(Iterator *iter); ITER_BEGIN(BKE_visible_bases_Iterator_begin, \ BKE_visible_bases_Iterator_next, \ BKE_visible_bases_Iterator_end, \ - sl, _object_base) + sl, Base, _object_base) #define FOREACH_VISIBLE_BASE_END \ ITER_END @@ -191,7 +191,7 @@ void BKE_visible_bases_Iterator_end(Iterator *iter); func_end = BKE_scene_objects_Iterator_end; \ data_in = scene; \ } \ - ITER_BEGIN(func_begin, func_next, func_end, data_in, _ob) + ITER_BEGIN(func_begin, func_next, func_end, data_in, Object, _ob) #define FOREACH_OBJECT_FLAG_END \ diff --git a/source/blender/blenlib/BLI_iterator.h b/source/blender/blenlib/BLI_iterator.h index cfa303bb1cd..d154b81ac82 100644 --- a/source/blender/blenlib/BLI_iterator.h +++ b/source/blender/blenlib/BLI_iterator.h @@ -36,7 +36,7 @@ typedef struct Iterator { typedef void (*IteratorCb)(Iterator *iter); typedef void (*IteratorBeginCb)(Iterator *iter, void *data_in); -#define ITER_BEGIN(callback_begin, callback_next, callback_end, _data_in, _data_out) \ +#define ITER_BEGIN(callback_begin, callback_next, callback_end, _data_in, _type, _data_out) \ { \ IteratorCb callback_end_func = callback_end; \ Iterator iter_macro; \ @@ -44,7 +44,7 @@ typedef void (*IteratorBeginCb)(Iterator *iter, void *data_in); iter_macro.valid; \ callback_next(&iter_macro)) \ { \ - _data_out = iter_macro.current; + _data_out = (_type *) iter_macro.current; #define ITER_END \ } \ |