summaryrefslogtreecommitdiff
path: root/src/lib/eina/eina_iterator.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/eina/eina_iterator.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/lib/eina/eina_iterator.h b/src/lib/eina/eina_iterator.h
index 7f1e94cb02..ebfd27c2cc 100644
--- a/src/lib/eina/eina_iterator.h
+++ b/src/lib/eina/eina_iterator.h
@@ -350,6 +350,39 @@ EAPI Eina_Iterator *eina_carray_length_iterator_new(void** array, unsigned int s
350EAPI Eina_Iterator* eina_iterator_filter_new(Eina_Iterator *original, Eina_Each_Cb filter, Eina_Free_Cb free_cb, void *data) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; 350EAPI Eina_Iterator* eina_iterator_filter_new(Eina_Iterator *original, Eina_Each_Cb filter, Eina_Free_Cb free_cb, void *data) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
351 351
352/** 352/**
353 * @brief Creates an Eina_Iterator that iterates through a serie
354 * of Eina_Iterator.
355 *
356 * @param[in] it The first Eina_Iterator to iterate over
357 * @return The iterator that will walk all the other iterator
358 *
359 * Eina_Iterator* iterator = eina_multi_iterator_new(it1, it2, it3, NULL);
360 *
361 * @note The returned array will destroy iterator given to it once they are not
362 * necessary anymore. Taking ownership of those iterator.
363 *
364 * @since 1.22
365 */
366EAPI Eina_Iterator *eina_multi_iterator_internal_new(Eina_Iterator *it, ...) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
367
368/**
369 * @def eina_multi_iterator_new
370 * @brief Creates an Eina_Iterator that iterates through a serie
371 * of Eina_Iterator.
372 *
373 * @param[in] it The first Eina_Iterator to iterate over
374 * @return The iterator that will walk all the other iterator
375 *
376 * Eina_Iterator* iterator = eina_multi_iterator_new(it1, it2, it3);
377 *
378 * @note The returned array will destroy iterator given to it once they are not
379 * necessary anymore. Taking ownership of those iterator.
380 *
381 * @since 1.22
382 */
383#define eina_multi_iterator_new(It, ...) eina_multi_iterator_internal_new(It, ##__VA_ARGS__, NULL)
384
385/**
353 * @def EINA_ITERATOR_FOREACH 386 * @def EINA_ITERATOR_FOREACH
354 * @brief Definition for the macro to iterate over all elements easily. 387 * @brief Definition for the macro to iterate over all elements easily.
355 * 388 *