33 lines
1.4 KiB
Plaintext
33 lines
1.4 KiB
Plaintext
{{page>index}}
|
|
-------
|
|
===== Iterator Functions =====
|
|
|
|
=== Related Info ===
|
|
|
|
* [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/group__Eina__Iterator__Group.html|Iterator Functions API]]
|
|
* [[https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/eina_iterator_01_8c-example.html|Eina Iterator Example]]
|
|
|
|
Eina provides a set of iterator functions to manipulate data types, such as
|
|
arrays.
|
|
|
|
These functions allow access to container elements in a generic way, without
|
|
knowing which container is used (similar to iterators in the C++ STL).
|
|
Iterators only allow sequential access (that is, from one element to the next
|
|
one). For random access, Eina provides accessor functions.
|
|
|
|
Getting an iterator to access elements of a given container is done through
|
|
the functions of that particular container. There is no function to create a
|
|
generic iterator as iterators absolutely depend on the container. Note that
|
|
all iterators, regardless of the container type, are always deleted with the
|
|
same ''eina_iterator_free()'' function.
|
|
|
|
To get the data and iterate, use the ''eina_iterator_next()'' function. To
|
|
call a function on every single element of a container, use the
|
|
''eina_iterator_foreach()'' function.
|
|
|
|
In addition to iterator functions, each data type also owns a set of macros
|
|
that provide the iterators, such as ''FOREACH'' or ''REVERSE_FOREACH''.
|
|
|
|
-------
|
|
{{page>index}}
|