\hypertarget{group__Eina__Types__Group}{}\doxysection{Types}
\label{group__Eina__Types__Group}\index{Types@{Types}}


Definition for eina types and core functions.  


\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}\label{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}} 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{EAPI}}
\begin{DoxyCompactList}\small\item\em Used to export functions (by changing visibility). \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga3cb73273511a4b8557a1caa95d9cbb49}{EAPI\+\_\+\+WEAK}}
\begin{DoxyCompactList}\small\item\em Weak symbol, primarily useful in defining library functions which can be overridden in user code. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga71dbf93c8bbb9e8b745879c3c1aecd0e}{EWAPI}}~\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3cb73273511a4b8557a1caa95d9cbb49}{EAPI\+\_\+\+WEAK}}
\begin{DoxyCompactList}\small\item\em Weak symbols part of the EFL API. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_ga1a53601915c5087ff37780aad3e2ec98}\label{group__Eina__Types__Group_ga1a53601915c5087ff37780aad3e2ec98}} 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga1a53601915c5087ff37780aad3e2ec98}{EXPORTAPI}}
\begin{DoxyCompactList}\small\item\em An alias for \mbox{\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{EAPI}}. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_gaeea7ec6e47ecea02cc6812b268034b28}{\+\_\+\+\_\+\+WORDSIZE}}~64
\begin{DoxyCompactList}\small\item\em Architecture\textquotesingle{}s word size (32 or 64 bits). \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\+\_\+\+UNUSED}}
\begin{DoxyCompactList}\small\item\em Used to indicate that a function parameter is purposely unused. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_ga2856d9530f01935ec5091278b1151f25}\label{group__Eina__Types__Group_ga2856d9530f01935ec5091278b1151f25}} 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga2856d9530f01935ec5091278b1151f25}{EINA\+\_\+\+WARN\+\_\+\+UNUSED\+\_\+\+RESULT}}
\begin{DoxyCompactList}\small\item\em Used to warn when the returned value of the function is not used. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{EINA\+\_\+\+ARG\+\_\+\+NONNULL}}(...)
\begin{DoxyCompactList}\small\item\em Used to warn when the specified arguments of the function are {\ttfamily NULL}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}\label{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}} 
\#define \mbox{\hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{EINA\+\_\+\+DEPRECATED}}
\begin{DoxyCompactList}\small\item\em Used to warn when the function is considered as deprecated. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_gaabeaa41dd47f4b4d3991b10ba00bc59c}\label{group__Eina__Types__Group_gaabeaa41dd47f4b4d3991b10ba00bc59c}} 
\#define \mbox{\hyperlink{group__Eina__Types__Group_gaabeaa41dd47f4b4d3991b10ba00bc59c}{EINA\+\_\+\+MALLOC}}
\begin{DoxyCompactList}\small\item\em EINA\+\_\+\+MALLOC is used to tell the compiler that a function may be treated as if any non-\/\+NULL pointer it returns cannot alias any other pointer valid when the function returns and that the memory has undefined content. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_ga2f26075b49a75cb1103e563032282e3b}\label{group__Eina__Types__Group_ga2f26075b49a75cb1103e563032282e3b}} 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga2f26075b49a75cb1103e563032282e3b}{EINA\+\_\+\+PURE}}
\begin{DoxyCompactList}\small\item\em EINA\+\_\+\+PURE is used to tell the compiler this function has no effect except the return value and its return value depends only on the parameters and/or global variables. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga50265482f1d9b18e4b98e97cfa2c8d05}{EINA\+\_\+\+PRINTF}}(fmt,  arg)
\begin{DoxyCompactList}\small\item\em Indicates that this function accepts a printf-\/style format string. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga31d6414e17005143acfe76147af1b809}{EINA\+\_\+\+SCANF}}(fmt,  arg)
\begin{DoxyCompactList}\small\item\em Indicates that this function accepts a scanf-\/style format string. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_gade276891541922d842e1f719ed4e08e0}{EINA\+\_\+\+FORMAT}}(fmt)
\begin{DoxyCompactList}\small\item\em Indicates that the output of this function can be used as a format string in printf-\/style functions. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_ga04f4a207fcde054c818bace8af77dcd6}\label{group__Eina__Types__Group_ga04f4a207fcde054c818bace8af77dcd6}} 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga04f4a207fcde054c818bace8af77dcd6}{EINA\+\_\+\+CONST}}
\begin{DoxyCompactList}\small\item\em Attribute from gcc to prevent the function to read/modify any global memory. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_ga6eb1a3925291d82fe83a1bf842890d5b}\label{group__Eina__Types__Group_ga6eb1a3925291d82fe83a1bf842890d5b}} 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga6eb1a3925291d82fe83a1bf842890d5b}{EINA\+\_\+\+NOINSTRUMENT}}
\begin{DoxyCompactList}\small\item\em Attribute from gcc to disable instrumentation for a specific function. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga70675a75a5fb3e9a51d5af985a1fd3aa}{EINA\+\_\+\+UNLIKELY}}(exp)~(exp)
\begin{DoxyCompactList}\small\item\em Indicates that the expression is likely to be {\ttfamily FALSE}. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_gaa9820797ec4c069e571f57e3c0c12216}{EINA\+\_\+\+LIKELY}}(exp)~(exp)
\begin{DoxyCompactList}\small\item\em Indicates that the expression is likely to be {\ttfamily TRUE}. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_gab767b5b607b3805cb088cd4ba93e3c3b}{EINA\+\_\+\+SENTINEL}}
\begin{DoxyCompactList}\small\item\em Attribute from gcc to prevent calls without the necessary NULL sentinel in certain variadic functions. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga60dc121fe1250fe36f52dd30c1ca1974}{EINA\+\_\+\+FALLTHROUGH}}
\begin{DoxyCompactList}\small\item\em Attribute from gcc to prevent warning and indicate that we expect to actually go to the next switch statement. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga27cc40c638d9afdb2bcd322515ca17a6}{EINA\+\_\+\+PREFETCH}}(arg)
\begin{DoxyCompactList}\small\item\em Hints that the pointer {\ttfamily arg} needs to be pre-\/fetched into cache. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga2376f686c9431974be2df4a7083142cf}{EINA\+\_\+\+PREFETCH\+\_\+\+WRITE}}(arg)
\begin{DoxyCompactList}\small\item\em Hints that the pointer {\ttfamily arg} needs to be pre-\/fetched into cache. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga160079903763aaeed987cb92c0e1a6d8}{EINA\+\_\+\+PREFETCH\+\_\+\+NOCACHE}}(arg)
\begin{DoxyCompactList}\small\item\em Hints that the pointer {\ttfamily arg} needs to be pre-\/fetched into cache. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga6fdc711ef937b8bd65b1a90d914bf374}{EINA\+\_\+\+PREFETCH\+\_\+\+NOCACHE\+\_\+\+WRITE}}(arg)
\begin{DoxyCompactList}\small\item\em Hints that the pointer {\ttfamily arg} needs to be pre-\/fetched into cache. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}\label{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}} 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}~((\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}})0)
\begin{DoxyCompactList}\small\item\em boolean value FALSE (numerical value 0) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}\label{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}} 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}~((\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}})1)
\begin{DoxyCompactList}\small\item\em boolean value TRUE (numerical value 1) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_gac9036655ab41aa7eb047e03acfe2b2ab}\label{group__Eina__Types__Group_gac9036655ab41aa7eb047e03acfe2b2ab}} 
\#define \mbox{\hyperlink{group__Eina__Types__Group_gac9036655ab41aa7eb047e03acfe2b2ab}{EINA\+\_\+\+COMPARE\+\_\+\+CB}}(function)~((\mbox{\hyperlink{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}{Eina\+\_\+\+Compare\+\_\+\+Cb}})function)
\begin{DoxyCompactList}\small\item\em Macro to cast to Eina\+\_\+\+Compare\+\_\+\+Cb. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_ga2cdb19a9d8e329afc19d25f4dcc9963c}\label{group__Eina__Types__Group_ga2cdb19a9d8e329afc19d25f4dcc9963c}} 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga2cdb19a9d8e329afc19d25f4dcc9963c}{EINA\+\_\+\+RANDOM\+\_\+\+CB}}(function)~((\mbox{\hyperlink{group__Eina__Types__Group_ga7331c88690f77b217b19cc5678cbdc24}{Eina\+\_\+\+Random\+\_\+\+Cb}})function)
\begin{DoxyCompactList}\small\item\em Macro to cast to Eina\+\_\+\+Random\+\_\+\+Cb. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_ga00027a70fb23cf0785b70584b7e23d9a}\label{group__Eina__Types__Group_ga00027a70fb23cf0785b70584b7e23d9a}} 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga00027a70fb23cf0785b70584b7e23d9a}{EINA\+\_\+\+PROCESS\+\_\+\+CB}}(Function)~((\mbox{\hyperlink{group__Eina__Types__Group_gab82b2d5e4aac0bdf2a865bd046682125}{Eina\+\_\+\+Process\+\_\+\+Cb}})Function)
\begin{DoxyCompactList}\small\item\em Macro to cast to Eina\+\_\+\+Process. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_ga2969ee84babb014288c22b76251660c5}\label{group__Eina__Types__Group_ga2969ee84babb014288c22b76251660c5}} 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga2969ee84babb014288c22b76251660c5}{EINA\+\_\+\+EACH\+\_\+\+CB}}(Function)~((\mbox{\hyperlink{group__Eina__Types__Group_gab115f6c19b6641ab5ba22ed45d9b7aa4}{Eina\+\_\+\+Each\+\_\+\+Cb}})Function)
\begin{DoxyCompactList}\small\item\em Macro to cast to Eina\+\_\+\+Each. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_ga930bcae4b1c589195787f82928d1f605}\label{group__Eina__Types__Group_ga930bcae4b1c589195787f82928d1f605}} 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga930bcae4b1c589195787f82928d1f605}{EINA\+\_\+\+FREE\+\_\+\+CB}}(Function)~((\mbox{\hyperlink{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}{Eina\+\_\+\+Free\+\_\+\+Cb}})Function)
\begin{DoxyCompactList}\small\item\em Macro to cast to Eina\+\_\+\+Free\+\_\+\+Cb. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga7c1b6f81660b4e30516169e9e7d3261c}{EINA\+\_\+\+C\+\_\+\+ARRAY\+\_\+\+LENGTH}}(arr)~(sizeof(arr) / sizeof((arr)\mbox{[}0\mbox{]}))
\begin{DoxyCompactList}\small\item\em Macro to return the array length of a standard c array. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Types__Group_ga3de16e04fea27e3d67eef8cb25ee0789}{EINA\+\_\+\+DOUBLE\+\_\+\+EQUAL}}(x,  y)~   (fabs((x) -\/ (y)) $<$= (2.\+2204460492503131e-\/16) $\ast$ fabs((x)))
\begin{DoxyCompactList}\small\item\em Macro to compare 2 double floating point values and deal with precision loss issues. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef unsigned char \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}
\begin{DoxyCompactList}\small\item\em Type to mimic a boolean. \end{DoxyCompactList}\item 
typedef int($\ast$ \mbox{\hyperlink{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}{Eina\+\_\+\+Compare\+\_\+\+Cb}}) (const void $\ast$data1, const void $\ast$data2)
\begin{DoxyCompactList}\small\item\em Function used in functions using sorting. \end{DoxyCompactList}\item 
typedef int($\ast$ \mbox{\hyperlink{group__Eina__Types__Group_ga7331c88690f77b217b19cc5678cbdc24}{Eina\+\_\+\+Random\+\_\+\+Cb}}) (const int min, const int max)
\begin{DoxyCompactList}\small\item\em Function used in shuffling functions. \end{DoxyCompactList}\item 
typedef void $\ast$($\ast$ \mbox{\hyperlink{group__Eina__Types__Group_gab82b2d5e4aac0bdf2a865bd046682125}{Eina\+\_\+\+Process\+\_\+\+Cb}}) (const void $\ast$container, void $\ast$data, void $\ast$fdata)
\begin{DoxyCompactList}\small\item\em Method that processes some data and returns new data. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_gab115f6c19b6641ab5ba22ed45d9b7aa4}\label{group__Eina__Types__Group_gab115f6c19b6641ab5ba22ed45d9b7aa4}} 
typedef \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}($\ast$ \mbox{\hyperlink{group__Eina__Types__Group_gab115f6c19b6641ab5ba22ed45d9b7aa4}{Eina\+\_\+\+Each\+\_\+\+Cb}}) (const void $\ast$container, void $\ast$data, void $\ast$fdata)
\begin{DoxyCompactList}\small\item\em A callback type used when iterating over a container. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}\label{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}} 
typedef void($\ast$ \mbox{\hyperlink{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}{Eina\+\_\+\+Free\+\_\+\+Cb}}) (void $\ast$data)
\begin{DoxyCompactList}\small\item\em A callback type used to free data when iterating over a container. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Definition for eina types and core functions. 



\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{group__Eina__Types__Group_ga3cb73273511a4b8557a1caa95d9cbb49}\label{group__Eina__Types__Group_ga3cb73273511a4b8557a1caa95d9cbb49}} 
\index{Types@{Types}!EAPI\_WEAK@{EAPI\_WEAK}}
\index{EAPI\_WEAK@{EAPI\_WEAK}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EAPI\_WEAK}{EAPI\_WEAK}}
{\footnotesize\ttfamily \#define EAPI\+\_\+\+WEAK}



Weak symbol, primarily useful in defining library functions which can be overridden in user code. 

Note\+: Not supported on all platforms. \mbox{\Hypertarget{group__Eina__Types__Group_ga71dbf93c8bbb9e8b745879c3c1aecd0e}\label{group__Eina__Types__Group_ga71dbf93c8bbb9e8b745879c3c1aecd0e}} 
\index{Types@{Types}!EWAPI@{EWAPI}}
\index{EWAPI@{EWAPI}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EWAPI}{EWAPI}}
{\footnotesize\ttfamily \#define EWAPI~\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3cb73273511a4b8557a1caa95d9cbb49}{EAPI\+\_\+\+WEAK}}}



Weak symbols part of the EFL API. 

Note\+: Not supported on all platforms. \mbox{\Hypertarget{group__Eina__Types__Group_gaeea7ec6e47ecea02cc6812b268034b28}\label{group__Eina__Types__Group_gaeea7ec6e47ecea02cc6812b268034b28}} 
\index{Types@{Types}!\_\_WORDSIZE@{\_\_WORDSIZE}}
\index{\_\_WORDSIZE@{\_\_WORDSIZE}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{\_\_WORDSIZE}{\_\_WORDSIZE}}
{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+WORDSIZE~64}



Architecture\textquotesingle{}s word size (32 or 64 bits). 

Defined by Eina if its definition cannot be found in the system\textquotesingle{}s headers. \mbox{\Hypertarget{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}\label{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}} 
\index{Types@{Types}!EINA\_UNUSED@{EINA\_UNUSED}}
\index{EINA\_UNUSED@{EINA\_UNUSED}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EINA\_UNUSED}{EINA\_UNUSED}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+UNUSED}



Used to indicate that a function parameter is purposely unused. 

This silences some compiler\textquotesingle{}s warning about unused parameters. \begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{actionslider_example_01_8c-example}{actionslider\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{banshee_8c-example}{banshee.\+c}}, \mbox{\hyperlink{bg_example_01_8c-example}{bg\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{bg_example_02_8c-example}{bg\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{bg_example_03_8c-example}{bg\+\_\+example\+\_\+03.\+c}}, \mbox{\hyperlink{box_example_02_8c-example}{box\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{bubble_example_01_8c-example}{bubble\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{button_example_00_8c-example}{button\+\_\+example\+\_\+00.\+c}}, \mbox{\hyperlink{button_example_01_8c-example}{button\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{calendar_example_01_8c-example}{calendar\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{calendar_example_02_8c-example}{calendar\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{calendar_example_03_8c-example}{calendar\+\_\+example\+\_\+03.\+c}}, \mbox{\hyperlink{calendar_example_04_8c-example}{calendar\+\_\+example\+\_\+04.\+c}}, \mbox{\hyperlink{calendar_example_05_8c-example}{calendar\+\_\+example\+\_\+05.\+c}}, \mbox{\hyperlink{calendar_example_06_8c-example}{calendar\+\_\+example\+\_\+06.\+c}}, \mbox{\hyperlink{check_example_01_8c-example}{check\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{client_8c-example}{client.\+c}}, \mbox{\hyperlink{clock_example_8c-example}{clock\+\_\+example.\+c}}, \mbox{\hyperlink{codegen_example_8c-example}{codegen\+\_\+example.\+c}}, \mbox{\hyperlink{colorselector_example_01_8c-example}{colorselector\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{combobox_example_01_8c-example}{combobox\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{complex-types-client-eina-value_8c-example}{complex-\/types-\/client-\/eina-\/value.\+c}}, \mbox{\hyperlink{complex-types-server_8c-example}{complex-\/types-\/server.\+c}}, \mbox{\hyperlink{complex-types_8c-example}{complex-\/types.\+c}}, \mbox{\hyperlink{conformant_example_01_8c-example}{conformant\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{conformant_example_02_8c-example}{conformant\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{connman-list-services_8c-example}{connman-\/list-\/services.\+c}}, \mbox{\hyperlink{ctxpopup_example_01_8c-example}{ctxpopup\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{datetime_example_8c-example}{datetime\+\_\+example.\+c}}, \mbox{\hyperlink{dayselector_example_8c-example}{dayselector\+\_\+example.\+c}}, \mbox{\hyperlink{diskselector_example_01_8c-example}{diskselector\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{diskselector_example_02_8c-example}{diskselector\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{ecore_con_client_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_con_client_simple_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+simple\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_con_lookup_example_8c-example}{ecore\+\_\+con\+\_\+lookup\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_con_server_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_con_url_cookies_example_8c-example}{ecore\+\_\+con\+\_\+url\+\_\+cookies\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_con_url_download_example_8c-example}{ecore\+\_\+con\+\_\+url\+\_\+download\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_con_url_headers_example_8c-example}{ecore\+\_\+con\+\_\+url\+\_\+headers\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_evas_basics_example_8c-example}{ecore\+\_\+evas\+\_\+basics\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_evas_buffer_example_02_8c-example}{ecore\+\_\+evas\+\_\+buffer\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{ecore_evas_callbacks_8c-example}{ecore\+\_\+evas\+\_\+callbacks.\+c}}, \mbox{\hyperlink{ecore_evas_object_example_8c-example}{ecore\+\_\+evas\+\_\+object\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_evas_window_sizes_example_8c-example}{ecore\+\_\+evas\+\_\+window\+\_\+sizes\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_event_example_01_8c-example}{ecore\+\_\+event\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{ecore_event_example_02_8c-example}{ecore\+\_\+event\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{ecore_exe_example_8c-example}{ecore\+\_\+exe\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_exe_example_child_8c-example}{ecore\+\_\+exe\+\_\+example\+\_\+child.\+c}}, \mbox{\hyperlink{ecore_fd_handler_example_8c-example}{ecore\+\_\+fd\+\_\+handler\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_idler_example_8c-example}{ecore\+\_\+idler\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_imf_example_8c-example}{ecore\+\_\+imf\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_job_example_8c-example}{ecore\+\_\+job\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_pipe_gstreamer_example_8c-example}{ecore\+\_\+pipe\+\_\+gstreamer\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_pipe_simple_example_8c-example}{ecore\+\_\+pipe\+\_\+simple\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_poller_example_8c-example}{ecore\+\_\+poller\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_thread_example_8c-example}{ecore\+\_\+thread\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_time_functions_example_8c-example}{ecore\+\_\+time\+\_\+functions\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_timer_example_8c-example}{ecore\+\_\+timer\+\_\+example.\+c}}, \mbox{\hyperlink{edje-basic_8c-example}{edje-\/basic.\+c}}, \mbox{\hyperlink{edje-box_8c-example}{edje-\/box.\+c}}, \mbox{\hyperlink{edje-box2_8c-example}{edje-\/box2.\+c}}, \mbox{\hyperlink{edje-color-class_8c-example}{edje-\/color-\/class.\+c}}, \mbox{\hyperlink{edje-drag_8c-example}{edje-\/drag.\+c}}, \mbox{\hyperlink{edje-perspective_8c-example}{edje-\/perspective.\+c}}, \mbox{\hyperlink{edje-signals-messages_8c-example}{edje-\/signals-\/messages.\+c}}, \mbox{\hyperlink{edje-swallow_8c-example}{edje-\/swallow.\+c}}, \mbox{\hyperlink{edje-table_8c-example}{edje-\/table.\+c}}, \mbox{\hyperlink{edje-text_8c-example}{edje-\/text.\+c}}, \mbox{\hyperlink{eet-data-file_descriptor_01_8c-example}{eet-\/data-\/file\+\_\+descriptor\+\_\+01.\+c}}, \mbox{\hyperlink{efl_thread_1_8c-example}{efl\+\_\+thread\+\_\+1.\+c}}, \mbox{\hyperlink{efl_thread_2_8c-example}{efl\+\_\+thread\+\_\+2.\+c}}, \mbox{\hyperlink{efl_thread_3_8c-example}{efl\+\_\+thread\+\_\+3.\+c}}, \mbox{\hyperlink{efl_thread_4_8c-example}{efl\+\_\+thread\+\_\+4.\+c}}, \mbox{\hyperlink{efl_thread_5_8c-example}{efl\+\_\+thread\+\_\+5.\+c}}, \mbox{\hyperlink{efl_thread_6_8c-example}{efl\+\_\+thread\+\_\+6.\+c}}, \mbox{\hyperlink{eina_accessor_01_8c-example}{eina\+\_\+accessor\+\_\+01.\+c}}, \mbox{\hyperlink{eina_array_01_8c-example}{eina\+\_\+array\+\_\+01.\+c}}, \mbox{\hyperlink{eina_array_02_8c-example}{eina\+\_\+array\+\_\+02.\+c}}, \mbox{\hyperlink{eina_file_01_8c-example}{eina\+\_\+file\+\_\+01.\+c}}, \mbox{\hyperlink{eina_hash_01_8c-example}{eina\+\_\+hash\+\_\+01.\+c}}, \mbox{\hyperlink{eina_hash_02_8c-example}{eina\+\_\+hash\+\_\+02.\+c}}, \mbox{\hyperlink{eina_hash_03_8c-example}{eina\+\_\+hash\+\_\+03.\+c}}, \mbox{\hyperlink{eina_hash_04_8c-example}{eina\+\_\+hash\+\_\+04.\+c}}, \mbox{\hyperlink{eina_hash_05_8c-example}{eina\+\_\+hash\+\_\+05.\+c}}, \mbox{\hyperlink{eina_hash_06_8c-example}{eina\+\_\+hash\+\_\+06.\+c}}, \mbox{\hyperlink{eina_hash_07_8c-example}{eina\+\_\+hash\+\_\+07.\+c}}, \mbox{\hyperlink{eina_hash_08_8c-example}{eina\+\_\+hash\+\_\+08.\+c}}, \mbox{\hyperlink{eina_inarray_01_8c-example}{eina\+\_\+inarray\+\_\+01.\+c}}, \mbox{\hyperlink{eina_inarray_02_8c-example}{eina\+\_\+inarray\+\_\+02.\+c}}, \mbox{\hyperlink{eina_inarray_03_8c-example}{eina\+\_\+inarray\+\_\+03.\+c}}, \mbox{\hyperlink{eina_iterator_01_8c-example}{eina\+\_\+iterator\+\_\+01.\+c}}, \mbox{\hyperlink{eina_log_03_8c-example}{eina\+\_\+log\+\_\+03.\+c}}, \mbox{\hyperlink{eina_magic_01_8c-example}{eina\+\_\+magic\+\_\+01.\+c}}, \mbox{\hyperlink{eina_simple_xml_parser_01_8c-example}{eina\+\_\+simple\+\_\+xml\+\_\+parser\+\_\+01.\+c}}, \mbox{\hyperlink{eina_str_01_8c-example}{eina\+\_\+str\+\_\+01.\+c}}, \mbox{\hyperlink{eina_strbuf_01_8c-example}{eina\+\_\+strbuf\+\_\+01.\+c}}, \mbox{\hyperlink{eina_stringshare_01_8c-example}{eina\+\_\+stringshare\+\_\+01.\+c}}, \mbox{\hyperlink{eina_tiler_01_8c-example}{eina\+\_\+tiler\+\_\+01.\+c}}, \mbox{\hyperlink{eina_value_03_8c-example}{eina\+\_\+value\+\_\+03.\+c}}, \mbox{\hyperlink{eio_file_ls_8c-example}{eio\+\_\+file\+\_\+ls.\+c}}, \mbox{\hyperlink{emotion_basic_example_8c-example}{emotion\+\_\+basic\+\_\+example.\+c}}, \mbox{\hyperlink{emotion_signals_example_8c-example}{emotion\+\_\+signals\+\_\+example.\+c}}, \mbox{\hyperlink{emotion_test_main_8c-example}{emotion\+\_\+test\+\_\+main.\+c}}, \mbox{\hyperlink{entry_example_8c-example}{entry\+\_\+example.\+c}}, \mbox{\hyperlink{evas-aspect-hints_8c-example}{evas-\/aspect-\/hints.\+c}}, \mbox{\hyperlink{evas-box_8c-example}{evas-\/box.\+c}}, \mbox{\hyperlink{evas-events_8c-example}{evas-\/events.\+c}}, \mbox{\hyperlink{evas-hints_8c-example}{evas-\/hints.\+c}}, \mbox{\hyperlink{evas-images_8c-example}{evas-\/images.\+c}}, \mbox{\hyperlink{evas-images2_8c-example}{evas-\/images2.\+c}}, \mbox{\hyperlink{evas-map-utils_8c-example}{evas-\/map-\/utils.\+c}}, \mbox{\hyperlink{evas-object-manipulation_8c-example}{evas-\/object-\/manipulation.\+c}}, \mbox{\hyperlink{evas-smart-interface_8c-example}{evas-\/smart-\/interface.\+c}}, \mbox{\hyperlink{evas-smart-object_8c-example}{evas-\/smart-\/object.\+c}}, \mbox{\hyperlink{evas-stacking_8c-example}{evas-\/stacking.\+c}}, \mbox{\hyperlink{evas-table_8c-example}{evas-\/table.\+c}}, \mbox{\hyperlink{evas-text_8c-example}{evas-\/text.\+c}}, \mbox{\hyperlink{fileselector_button_example_8c-example}{fileselector\+\_\+button\+\_\+example.\+c}}, \mbox{\hyperlink{fileselector_entry_example_8c-example}{fileselector\+\_\+entry\+\_\+example.\+c}}, \mbox{\hyperlink{fileselector_example_8c-example}{fileselector\+\_\+example.\+c}}, \mbox{\hyperlink{flip_example_01_8c-example}{flip\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{flipselector_example_8c-example}{flipselector\+\_\+example.\+c}}, \mbox{\hyperlink{frame_example_01_8c-example}{frame\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{general_funcs_example_8c-example}{general\+\_\+funcs\+\_\+example.\+c}}, \mbox{\hyperlink{gengrid_example_8c-example}{gengrid\+\_\+example.\+c}}, \mbox{\hyperlink{genlist_example_01_8c-example}{genlist\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{genlist_example_02_8c-example}{genlist\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{genlist_example_03_8c-example}{genlist\+\_\+example\+\_\+03.\+c}}, \mbox{\hyperlink{genlist_example_04_8c-example}{genlist\+\_\+example\+\_\+04.\+c}}, \mbox{\hyperlink{genlist_example_05_8c-example}{genlist\+\_\+example\+\_\+05.\+c}}, \mbox{\hyperlink{glview_example_01_8c-example}{glview\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{hover_example_01_8c-example}{hover\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{hoversel_example_01_8c-example}{hoversel\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{icon_example_01_8c-example}{icon\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{image_example_01_8c-example}{image\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{index_example_01_8c-example}{index\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{index_example_02_8c-example}{index\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{inwin_example_8c-example}{inwin\+\_\+example.\+c}}, \mbox{\hyperlink{label_example_01_8c-example}{label\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{layout_example_01_8c-example}{layout\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{layout_example_02_8c-example}{layout\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{layout_example_03_8c-example}{layout\+\_\+example\+\_\+03.\+c}}, \mbox{\hyperlink{list_example_01_8c-example}{list\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{list_example_02_8c-example}{list\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{list_example_03_8c-example}{list\+\_\+example\+\_\+03.\+c}}, \mbox{\hyperlink{map_example_01_8c-example}{map\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{map_example_02_8c-example}{map\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{map_example_03_8c-example}{map\+\_\+example\+\_\+03.\+c}}, \mbox{\hyperlink{mapbuf_example_8c-example}{mapbuf\+\_\+example.\+c}}, \mbox{\hyperlink{menu_example_01_8c-example}{menu\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{naviframe_example_8c-example}{naviframe\+\_\+example.\+c}}, \mbox{\hyperlink{notify_example_01_8c-example}{notify\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{ofono-dial_8c-example}{ofono-\/dial.\+c}}, \mbox{\hyperlink{panel_example_01_8c-example}{panel\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{panes_example_8c-example}{panes\+\_\+example.\+c}}, \mbox{\hyperlink{photocam_example_01_8c-example}{photocam\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{popup_example_01_8c-example}{popup\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{popup_example_02_8c-example}{popup\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{popup_example_03_8c-example}{popup\+\_\+example\+\_\+03.\+c}}, \mbox{\hyperlink{prefs_example_01_8c-example}{prefs\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{prefs_example_02_8c-example}{prefs\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{prefs_example_03_8c-example}{prefs\+\_\+example\+\_\+03.\+c}}, \mbox{\hyperlink{progressbar_example_8c-example}{progressbar\+\_\+example.\+c}}, \mbox{\hyperlink{radio_example_01_8c-example}{radio\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{scroller_example_01_8c-example}{scroller\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{segment_control_example_8c-example}{segment\+\_\+control\+\_\+example.\+c}}, \mbox{\hyperlink{separator_example_01_8c-example}{separator\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{server_8c-example}{server.\+c}}, \mbox{\hyperlink{slider_example_8c-example}{slider\+\_\+example.\+c}}, \mbox{\hyperlink{slideshow_example_8c-example}{slideshow\+\_\+example.\+c}}, \mbox{\hyperlink{spinner_example_8c-example}{spinner\+\_\+example.\+c}}, \mbox{\hyperlink{table_example_01_8c-example}{table\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{table_example_02_8c-example}{table\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{theme_example_01_8c-example}{theme\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{theme_example_02_8c-example}{theme\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{thumb_example_01_8c-example}{thumb\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{toolbar_example_01_8c-example}{toolbar\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{toolbar_example_02_8c-example}{toolbar\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{toolbar_example_03_8c-example}{toolbar\+\_\+example\+\_\+03.\+c}}, \mbox{\hyperlink{track_example_01_8c-example}{track\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{transit_example_01_8c-example}{transit\+\_\+example\+\_\+01.\+c}}, \mbox{\hyperlink{transit_example_02_8c-example}{transit\+\_\+example\+\_\+02.\+c}}, \mbox{\hyperlink{transit_example_03_8c-example}{transit\+\_\+example\+\_\+03.\+c}}, \mbox{\hyperlink{transit_example_04_8c-example}{transit\+\_\+example\+\_\+04.\+c}}, \mbox{\hyperlink{web_example_02_8c-example}{web\+\_\+example\+\_\+02.\+c}}, and \mbox{\hyperlink{win_example_8c-example}{win\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}\label{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}} 
\index{Types@{Types}!EINA\_ARG\_NONNULL@{EINA\_ARG\_NONNULL}}
\index{EINA\_ARG\_NONNULL@{EINA\_ARG\_NONNULL}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EINA\_ARG\_NONNULL}{EINA\_ARG\_NONNULL}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+ARG\+\_\+\+NONNULL(\begin{DoxyParamCaption}\item[{}]{... }\end{DoxyParamCaption})}



Used to warn when the specified arguments of the function are {\ttfamily NULL}. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em ...} & Ordinals of the parameters to check for nullity (1..n)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Nothing, but Doxygen will complain if it\textquotesingle{}s not documented \+:-\/P 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Eina__Types__Group_ga50265482f1d9b18e4b98e97cfa2c8d05}\label{group__Eina__Types__Group_ga50265482f1d9b18e4b98e97cfa2c8d05}} 
\index{Types@{Types}!EINA\_PRINTF@{EINA\_PRINTF}}
\index{EINA\_PRINTF@{EINA\_PRINTF}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EINA\_PRINTF}{EINA\_PRINTF}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+PRINTF(\begin{DoxyParamCaption}\item[{}]{fmt,  }\item[{}]{arg }\end{DoxyParamCaption})}



Indicates that this function accepts a printf-\/style format string. 

This allows some compilers to perform additional checks on the parameters passed to the function. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em fmt} & The 1-\/based index of the parameter specifying the format string. \\
\hline
\mbox{\texttt{ in}}  & {\em arg} & The 1-\/based index of the first data parameter. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Eina__Types__Group_ga31d6414e17005143acfe76147af1b809}\label{group__Eina__Types__Group_ga31d6414e17005143acfe76147af1b809}} 
\index{Types@{Types}!EINA\_SCANF@{EINA\_SCANF}}
\index{EINA\_SCANF@{EINA\_SCANF}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EINA\_SCANF}{EINA\_SCANF}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+SCANF(\begin{DoxyParamCaption}\item[{}]{fmt,  }\item[{}]{arg }\end{DoxyParamCaption})}



Indicates that this function accepts a scanf-\/style format string. 

This allows some compilers to perform additional checks on the parameters passed to the function. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em fmt} & The 1-\/based index of the parameter specifying the format string. \\
\hline
\mbox{\texttt{ in}}  & {\em arg} & The 1-\/based index of the first data parameter. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Eina__Types__Group_gade276891541922d842e1f719ed4e08e0}\label{group__Eina__Types__Group_gade276891541922d842e1f719ed4e08e0}} 
\index{Types@{Types}!EINA\_FORMAT@{EINA\_FORMAT}}
\index{EINA\_FORMAT@{EINA\_FORMAT}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EINA\_FORMAT}{EINA\_FORMAT}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+FORMAT(\begin{DoxyParamCaption}\item[{}]{fmt }\end{DoxyParamCaption})}



Indicates that the output of this function can be used as a format string in printf-\/style functions. 

Some compilers will check that the return value of this function is consistent with the {\ttfamily fmt} parameter. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em fmt} & The 1-\/based index of the parameter specifying the format string. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Eina__Types__Group_ga70675a75a5fb3e9a51d5af985a1fd3aa}\label{group__Eina__Types__Group_ga70675a75a5fb3e9a51d5af985a1fd3aa}} 
\index{Types@{Types}!EINA\_UNLIKELY@{EINA\_UNLIKELY}}
\index{EINA\_UNLIKELY@{EINA\_UNLIKELY}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EINA\_UNLIKELY}{EINA\_UNLIKELY}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+UNLIKELY(\begin{DoxyParamCaption}\item[{}]{exp }\end{DoxyParamCaption})~(exp)}



Indicates that the expression is likely to be {\ttfamily FALSE}. 

Some compilers and processor architectures can then optimize the more likely path. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em exp} & The expression to be used. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Eina__Types__Group_gaa9820797ec4c069e571f57e3c0c12216}\label{group__Eina__Types__Group_gaa9820797ec4c069e571f57e3c0c12216}} 
\index{Types@{Types}!EINA\_LIKELY@{EINA\_LIKELY}}
\index{EINA\_LIKELY@{EINA\_LIKELY}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EINA\_LIKELY}{EINA\_LIKELY}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+LIKELY(\begin{DoxyParamCaption}\item[{}]{exp }\end{DoxyParamCaption})~(exp)}



Indicates that the expression is likely to be {\ttfamily TRUE}. 

Some compilers and processor architectures can then optimize the more likely path. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em exp} & The expression to be used. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Eina__Types__Group_gab767b5b607b3805cb088cd4ba93e3c3b}\label{group__Eina__Types__Group_gab767b5b607b3805cb088cd4ba93e3c3b}} 
\index{Types@{Types}!EINA\_SENTINEL@{EINA\_SENTINEL}}
\index{EINA\_SENTINEL@{EINA\_SENTINEL}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EINA\_SENTINEL}{EINA\_SENTINEL}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+SENTINEL}



Attribute from gcc to prevent calls without the necessary NULL sentinel in certain variadic functions. 

\begin{DoxySince}{Since}
1.\+7 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Types__Group_ga60dc121fe1250fe36f52dd30c1ca1974}\label{group__Eina__Types__Group_ga60dc121fe1250fe36f52dd30c1ca1974}} 
\index{Types@{Types}!EINA\_FALLTHROUGH@{EINA\_FALLTHROUGH}}
\index{EINA\_FALLTHROUGH@{EINA\_FALLTHROUGH}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EINA\_FALLTHROUGH}{EINA\_FALLTHROUGH}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+FALLTHROUGH}



Attribute from gcc to prevent warning and indicate that we expect to actually go to the next switch statement. 

\begin{DoxySince}{Since}
1.\+20 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Types__Group_ga27cc40c638d9afdb2bcd322515ca17a6}\label{group__Eina__Types__Group_ga27cc40c638d9afdb2bcd322515ca17a6}} 
\index{Types@{Types}!EINA\_PREFETCH@{EINA\_PREFETCH}}
\index{EINA\_PREFETCH@{EINA\_PREFETCH}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EINA\_PREFETCH}{EINA\_PREFETCH}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+PREFETCH(\begin{DoxyParamCaption}\item[{}]{arg }\end{DoxyParamCaption})}



Hints that the pointer {\ttfamily arg} needs to be pre-\/fetched into cache. 

This hints to the compiler to probably issue a prefetch command for the memory address {\ttfamily arg} and ensure it goes into all levels of cache. For just writing to an address look at \mbox{\hyperlink{group__Eina__Types__Group_ga2376f686c9431974be2df4a7083142cf}{EINA\+\_\+\+PREFETCH\+\_\+\+WRITE()}}.

Note that the pointer {\ttfamily arg} does not have to be a valid pointer and will not cause any exceptions (like segfaults) if it is invalid.

\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Types__Group_ga2376f686c9431974be2df4a7083142cf}\label{group__Eina__Types__Group_ga2376f686c9431974be2df4a7083142cf}} 
\index{Types@{Types}!EINA\_PREFETCH\_WRITE@{EINA\_PREFETCH\_WRITE}}
\index{EINA\_PREFETCH\_WRITE@{EINA\_PREFETCH\_WRITE}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EINA\_PREFETCH\_WRITE}{EINA\_PREFETCH\_WRITE}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+PREFETCH\+\_\+\+WRITE(\begin{DoxyParamCaption}\item[{}]{arg }\end{DoxyParamCaption})}



Hints that the pointer {\ttfamily arg} needs to be pre-\/fetched into cache. 

This hints to the compiler to probably issue a prefetch command for the memory address {\ttfamily arg} and ensure it goes into all levels of cache. This specifically indicates that the address is going to be written to as opposed to being read from as with \mbox{\hyperlink{group__Eina__Types__Group_ga27cc40c638d9afdb2bcd322515ca17a6}{EINA\+\_\+\+PREFETCH()}}.

Note that the pointer {\ttfamily arg} does not have to be a valid pointer and will not cause any exceptions (like segfaults) if it is invalid.

\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Types__Group_ga160079903763aaeed987cb92c0e1a6d8}\label{group__Eina__Types__Group_ga160079903763aaeed987cb92c0e1a6d8}} 
\index{Types@{Types}!EINA\_PREFETCH\_NOCACHE@{EINA\_PREFETCH\_NOCACHE}}
\index{EINA\_PREFETCH\_NOCACHE@{EINA\_PREFETCH\_NOCACHE}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EINA\_PREFETCH\_NOCACHE}{EINA\_PREFETCH\_NOCACHE}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+PREFETCH\+\_\+\+NOCACHE(\begin{DoxyParamCaption}\item[{}]{arg }\end{DoxyParamCaption})}



Hints that the pointer {\ttfamily arg} needs to be pre-\/fetched into cache. 

This hints to the compiler to probably issue a prefetch command for the memory address {\ttfamily arg} and ensure it goes into just the closest(l1) cache. For just writing to an address look at EINA\+\_\+\+PREFETCH\+\_\+\+WRITE\+\_\+\+NOCACHE().

Note that the pointer {\ttfamily arg} does not have to be a valid pointer and will not cause any exceptions (like segfaults) if it is invalid.

\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Types__Group_ga6fdc711ef937b8bd65b1a90d914bf374}\label{group__Eina__Types__Group_ga6fdc711ef937b8bd65b1a90d914bf374}} 
\index{Types@{Types}!EINA\_PREFETCH\_NOCACHE\_WRITE@{EINA\_PREFETCH\_NOCACHE\_WRITE}}
\index{EINA\_PREFETCH\_NOCACHE\_WRITE@{EINA\_PREFETCH\_NOCACHE\_WRITE}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EINA\_PREFETCH\_NOCACHE\_WRITE}{EINA\_PREFETCH\_NOCACHE\_WRITE}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+PREFETCH\+\_\+\+NOCACHE\+\_\+\+WRITE(\begin{DoxyParamCaption}\item[{}]{arg }\end{DoxyParamCaption})}



Hints that the pointer {\ttfamily arg} needs to be pre-\/fetched into cache. 

This hints to the compiler to probably issue a prefetch command for the memory address {\ttfamily arg} and ensure it goes into just the closest(l1) cache. This specifically indicates that the address is going to be written to as opposed to being read from as with \mbox{\hyperlink{group__Eina__Types__Group_ga160079903763aaeed987cb92c0e1a6d8}{EINA\+\_\+\+PREFETCH\+\_\+\+NOCACHE()}}. Note that the pointer {\ttfamily arg} does not have to be a valid pointer and will not cause any exceptions (like segfaults) if it is invalid.

\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Types__Group_ga7c1b6f81660b4e30516169e9e7d3261c}\label{group__Eina__Types__Group_ga7c1b6f81660b4e30516169e9e7d3261c}} 
\index{Types@{Types}!EINA\_C\_ARRAY\_LENGTH@{EINA\_C\_ARRAY\_LENGTH}}
\index{EINA\_C\_ARRAY\_LENGTH@{EINA\_C\_ARRAY\_LENGTH}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EINA\_C\_ARRAY\_LENGTH}{EINA\_C\_ARRAY\_LENGTH}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+C\+\_\+\+ARRAY\+\_\+\+LENGTH(\begin{DoxyParamCaption}\item[{}]{arr }\end{DoxyParamCaption})~(sizeof(arr) / sizeof((arr)\mbox{[}0\mbox{]}))}



Macro to return the array length of a standard c array. 

For example\+: int foo\mbox{[}\mbox{]} = \{ 0, 1, 2, 3 \}; would return 4 and not 4 $\ast$ sizeof(int).

\begin{DoxySince}{Since}
1.\+2.\+0 
\end{DoxySince}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{complex-types-server_8c-example}{complex-\/types-\/server.\+c}}, \mbox{\hyperlink{eina_value_02_8c-example}{eina\+\_\+value\+\_\+02.\+c}}, and \mbox{\hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__Types__Group_ga3de16e04fea27e3d67eef8cb25ee0789}\label{group__Eina__Types__Group_ga3de16e04fea27e3d67eef8cb25ee0789}} 
\index{Types@{Types}!EINA\_DOUBLE\_EQUAL@{EINA\_DOUBLE\_EQUAL}}
\index{EINA\_DOUBLE\_EQUAL@{EINA\_DOUBLE\_EQUAL}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{EINA\_DOUBLE\_EQUAL}{EINA\_DOUBLE\_EQUAL}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+DOUBLE\+\_\+\+EQUAL(\begin{DoxyParamCaption}\item[{}]{x,  }\item[{}]{y }\end{DoxyParamCaption})~   (fabs((x) -\/ (y)) $<$= (2.\+2204460492503131e-\/16) $\ast$ fabs((x)))}



Macro to compare 2 double floating point values and deal with precision loss issues. 

\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}


\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}\label{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}} 
\index{Types@{Types}!Eina\_Bool@{Eina\_Bool}}
\index{Eina\_Bool@{Eina\_Bool}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{Eina\_Bool}{Eina\_Bool}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}



Type to mimic a boolean. 

\begin{DoxyNote}{Note}
it differs from stdbool.\+h as this is defined as an unsigned char to make it usable by bitfields (Eina\+\_\+\+Bool name\+:1) and also take as few bytes as possible. 
\end{DoxyNote}
\mbox{\Hypertarget{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}\label{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}} 
\index{Types@{Types}!Eina\_Compare\_Cb@{Eina\_Compare\_Cb}}
\index{Eina\_Compare\_Cb@{Eina\_Compare\_Cb}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{Eina\_Compare\_Cb}{Eina\_Compare\_Cb}}
{\footnotesize\ttfamily Eina\+\_\+\+Compare\+\_\+\+Cb}



Function used in functions using sorting. 

It compares {\ttfamily data1} and {\ttfamily data2}. If {\ttfamily data1} is \textquotesingle{}less\textquotesingle{} than {\ttfamily data2}, -\/1 must be returned, if it is \textquotesingle{}greater\textquotesingle{}, 1 must be returned, and if they are equal, 0 must be returned. \begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{eina_list_02_8c-example}{eina\+\_\+list\+\_\+02.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__Types__Group_ga7331c88690f77b217b19cc5678cbdc24}\label{group__Eina__Types__Group_ga7331c88690f77b217b19cc5678cbdc24}} 
\index{Types@{Types}!Eina\_Random\_Cb@{Eina\_Random\_Cb}}
\index{Eina\_Random\_Cb@{Eina\_Random\_Cb}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{Eina\_Random\_Cb}{Eina\_Random\_Cb}}
{\footnotesize\ttfamily Eina\+\_\+\+Random\+\_\+\+Cb}



Function used in shuffling functions. 

An integer between min and max inclusive must be returned.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Types__Group_gab82b2d5e4aac0bdf2a865bd046682125}\label{group__Eina__Types__Group_gab82b2d5e4aac0bdf2a865bd046682125}} 
\index{Types@{Types}!Eina\_Process\_Cb@{Eina\_Process\_Cb}}
\index{Eina\_Process\_Cb@{Eina\_Process\_Cb}!Types@{Types}}
\doxysubsubsection{\texorpdfstring{Eina\_Process\_Cb}{Eina\_Process\_Cb}}
{\footnotesize\ttfamily Eina\+\_\+\+Process\+\_\+\+Cb}



Method that processes some data and returns new data. 

It\textquotesingle{}s meant to be used as a callback to process all nodes inside a container (See eina\+\_\+iterator\+\_\+processed\+\_\+new, for example.) 
\begin{DoxyParams}{Parameters}
{\em data} & The data to process. \\
\hline
{\em fdata} & Context data. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The processed data. 
\end{DoxyReturn}
