\hypertarget{group__Eina__Types__Group}{\section{Types}
\label{group__Eina__Types__Group}\index{Types@{Types}}
}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{\#define \hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I}}\label{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}

\begin{DoxyCompactList}\small\item\em Used to export functions(by changing visibility). \end{DoxyCompactList}\item 
\hypertarget{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{\#define \hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{E\+I\+N\+A\+\_\+\+U\+N\+U\+S\+E\+D}}\label{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}

\begin{DoxyCompactList}\small\item\em Used to warn when an argument of the function is not used. \end{DoxyCompactList}\item 
\hypertarget{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{\#define \hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+L\+T}}\label{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}

\begin{DoxyCompactList}\small\item\em Used to warn when the returned value of the function is not used. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}(...)
\begin{DoxyCompactList}\small\item\em Used to warn when the specified arguments of the function are {\ttfamily N\+U\+L\+L}. \end{DoxyCompactList}\item 
\hypertarget{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{\#define \hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{E\+I\+N\+A\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+E\+D}}\label{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}

\begin{DoxyCompactList}\small\item\em Used to warn when the function is considered as deprecated. \end{DoxyCompactList}\item 
\hypertarget{group__Eina__Types__Group_gaabeaa41dd47f4b4d3991b10ba00bc59c}{\#define \hyperlink{group__Eina__Types__Group_gaabeaa41dd47f4b4d3991b10ba00bc59c}{E\+I\+N\+A\+\_\+\+M\+A\+L\+L\+O\+C}}\label{group__Eina__Types__Group_gaabeaa41dd47f4b4d3991b10ba00bc59c}

\begin{DoxyCompactList}\small\item\em E\+I\+N\+A\+\_\+\+M\+A\+L\+L\+O\+C is used to tell the compiler that a function may be treated as if any non-\/\+N\+U\+L\+L pointer it returns cannot alias any other pointer valid when the function returns and that the memory has undefined content. \end{DoxyCompactList}\item 
\hypertarget{group__Eina__Types__Group_ga4669a55a23089d0f9b70702ef05cea68}{\#define \hyperlink{group__Eina__Types__Group_ga4669a55a23089d0f9b70702ef05cea68}{E\+I\+N\+A\+\_\+\+P\+U\+R\+E}}\label{group__Eina__Types__Group_ga4669a55a23089d0f9b70702ef05cea68}

\begin{DoxyCompactList}\small\item\em E\+I\+N\+A\+\_\+\+P\+U\+R\+E is used to tell the compiler this functions has no effects except the return value and their return value depends only on the parameters and/or global variables. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eina__Types__Group_ga50265482f1d9b18e4b98e97cfa2c8d05}{E\+I\+N\+A\+\_\+\+P\+R\+I\+N\+T\+F}(fmt, arg)
\item 
\#define \hyperlink{group__Eina__Types__Group_ga31d6414e17005143acfe76147af1b809}{E\+I\+N\+A\+\_\+\+S\+C\+A\+N\+F}(fmt, arg)
\item 
\#define \hyperlink{group__Eina__Types__Group_gade276891541922d842e1f719ed4e08e0}{E\+I\+N\+A\+\_\+\+F\+O\+R\+M\+A\+T}(fmt)
\item 
\hypertarget{group__Eina__Types__Group_ga04f4a207fcde054c818bace8af77dcd6}{\#define \hyperlink{group__Eina__Types__Group_ga04f4a207fcde054c818bace8af77dcd6}{E\+I\+N\+A\+\_\+\+C\+O\+N\+S\+T}}\label{group__Eina__Types__Group_ga04f4a207fcde054c818bace8af77dcd6}

\begin{DoxyCompactList}\small\item\em Attribute from gcc to prevent the function to read/modify any global memory. \end{DoxyCompactList}\item 
\hypertarget{group__Eina__Types__Group_ga6eb1a3925291d82fe83a1bf842890d5b}{\#define \hyperlink{group__Eina__Types__Group_ga6eb1a3925291d82fe83a1bf842890d5b}{E\+I\+N\+A\+\_\+\+N\+O\+I\+N\+S\+T\+R\+U\+M\+E\+N\+T}}\label{group__Eina__Types__Group_ga6eb1a3925291d82fe83a1bf842890d5b}

\begin{DoxyCompactList}\small\item\em Attribute from gcc to disable instrumentation for a specific function. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eina__Types__Group_ga70675a75a5fb3e9a51d5af985a1fd3aa}{E\+I\+N\+A\+\_\+\+U\+N\+L\+I\+K\+E\+L\+Y}(exp)~exp
\item 
\#define \hyperlink{group__Eina__Types__Group_gaa9820797ec4c069e571f57e3c0c12216}{E\+I\+N\+A\+\_\+\+L\+I\+K\+E\+L\+Y}(exp)~exp
\item 
\#define \hyperlink{group__Eina__Types__Group_gab767b5b607b3805cb088cd4ba93e3c3b}{E\+I\+N\+A\+\_\+\+S\+E\+N\+T\+I\+N\+E\+L}
\begin{DoxyCompactList}\small\item\em Attribute from gcc to prevent calls without the necessary N\+U\+L\+L sentinel in certain variadic functions. \end{DoxyCompactList}\item 
\hypertarget{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{\#define \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E}~((\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool})0)}\label{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}

\begin{DoxyCompactList}\small\item\em boolean value F\+A\+L\+S\+E (numerical value 0) \end{DoxyCompactList}\item 
\hypertarget{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{\#define \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E}~((\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool})1)}\label{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}

\begin{DoxyCompactList}\small\item\em boolean value T\+R\+U\+E (numerical value 1) \end{DoxyCompactList}\item 
\hypertarget{group__Eina__Types__Group_gac9036655ab41aa7eb047e03acfe2b2ab}{\#define \hyperlink{group__Eina__Types__Group_gac9036655ab41aa7eb047e03acfe2b2ab}{E\+I\+N\+A\+\_\+\+C\+O\+M\+P\+A\+R\+E\+\_\+\+C\+B}(function)~((\hyperlink{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}{Eina\+\_\+\+Compare\+\_\+\+Cb})function)}\label{group__Eina__Types__Group_gac9036655ab41aa7eb047e03acfe2b2ab}

\begin{DoxyCompactList}\small\item\em Macro to cast to Eina\+\_\+\+Compare\+\_\+\+Cb. \end{DoxyCompactList}\item 
\hypertarget{group__Eina__Types__Group_ga2cdb19a9d8e329afc19d25f4dcc9963c}{\#define \hyperlink{group__Eina__Types__Group_ga2cdb19a9d8e329afc19d25f4dcc9963c}{E\+I\+N\+A\+\_\+\+R\+A\+N\+D\+O\+M\+\_\+\+C\+B}(function)~((\hyperlink{group__Eina__Types__Group_ga7331c88690f77b217b19cc5678cbdc24}{Eina\+\_\+\+Random\+\_\+\+Cb})function)}\label{group__Eina__Types__Group_ga2cdb19a9d8e329afc19d25f4dcc9963c}

\begin{DoxyCompactList}\small\item\em Macro to cast to Eina\+\_\+\+Random\+\_\+\+Cb. \end{DoxyCompactList}\item 
\hypertarget{group__Eina__Types__Group_ga2969ee84babb014288c22b76251660c5}{\#define \hyperlink{group__Eina__Types__Group_ga2969ee84babb014288c22b76251660c5}{E\+I\+N\+A\+\_\+\+E\+A\+C\+H\+\_\+\+C\+B}(Function)~((\hyperlink{group__Eina__Types__Group_gab115f6c19b6641ab5ba22ed45d9b7aa4}{Eina\+\_\+\+Each\+\_\+\+Cb})Function)}\label{group__Eina__Types__Group_ga2969ee84babb014288c22b76251660c5}

\begin{DoxyCompactList}\small\item\em Macro to cast to Eina\+\_\+\+Each. \end{DoxyCompactList}\item 
\hypertarget{group__Eina__Types__Group_ga930bcae4b1c589195787f82928d1f605}{\#define \hyperlink{group__Eina__Types__Group_ga930bcae4b1c589195787f82928d1f605}{E\+I\+N\+A\+\_\+\+F\+R\+E\+E\+\_\+\+C\+B}(Function)~((\hyperlink{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}{Eina\+\_\+\+Free\+\_\+\+Cb})Function)}\label{group__Eina__Types__Group_ga930bcae4b1c589195787f82928d1f605}

\begin{DoxyCompactList}\small\item\em Macro to cast to Eina\+\_\+\+Free\+\_\+\+Cb. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eina__Types__Group_ga7c1b6f81660b4e30516169e9e7d3261c}{E\+I\+N\+A\+\_\+\+C\+\_\+\+A\+R\+R\+A\+Y\+\_\+\+L\+E\+N\+G\+T\+H}(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}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef unsigned char \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}
\begin{DoxyCompactList}\small\item\em Type to mimic a boolean. \end{DoxyCompactList}\item 
typedef int($\ast$ \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$ \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 
\hypertarget{group__Eina__Types__Group_gab115f6c19b6641ab5ba22ed45d9b7aa4}{typedef \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}($\ast$ \hyperlink{group__Eina__Types__Group_gab115f6c19b6641ab5ba22ed45d9b7aa4}{Eina\+\_\+\+Each\+\_\+\+Cb} )(const void $\ast$container, void $\ast$data, void $\ast$fdata)}\label{group__Eina__Types__Group_gab115f6c19b6641ab5ba22ed45d9b7aa4}

\begin{DoxyCompactList}\small\item\em A callback type used when iterating over a container. \end{DoxyCompactList}\item 
\hypertarget{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}{typedef void($\ast$ \hyperlink{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}{Eina\+\_\+\+Free\+\_\+\+Cb} )(void $\ast$data)}\label{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}

\begin{DoxyCompactList}\small\item\em A callback type used to free data when iterating over a container. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Eina__Types__Group_ga6046bb8962466e422419c4499688bda8}{const unsigned int {\bfseries eina\+\_\+prime\+\_\+table} \mbox{[}$\,$\mbox{]}}\label{group__Eina__Types__Group_ga6046bb8962466e422419c4499688bda8}

\end{DoxyCompactItemize}


\subsection{Detailed Description}


\subsection{Macro Definition Documentation}
\hypertarget{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{\index{Types@{Types}!E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L@{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}}
\index{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L@{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}!Types@{Types}}
\subsubsection[{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+L\+L(
\begin{DoxyParamCaption}
\item[{}]{...}
\end{DoxyParamCaption}
)}}\label{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}


Used to warn when the specified arguments of the function are {\ttfamily N\+U\+L\+L}. 


\begin{DoxyParams}{Parameters}
{\em ...} & Oridnals of the parameters to check for nullity (1..n)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Nothing, but Doxygen will complain if it's not documented \+:-\/\+P 
\end{DoxyReturn}
\hypertarget{group__Eina__Types__Group_ga50265482f1d9b18e4b98e97cfa2c8d05}{\index{Types@{Types}!E\+I\+N\+A\+\_\+\+P\+R\+I\+N\+T\+F@{E\+I\+N\+A\+\_\+\+P\+R\+I\+N\+T\+F}}
\index{E\+I\+N\+A\+\_\+\+P\+R\+I\+N\+T\+F@{E\+I\+N\+A\+\_\+\+P\+R\+I\+N\+T\+F}!Types@{Types}}
\subsubsection[{E\+I\+N\+A\+\_\+\+P\+R\+I\+N\+T\+F}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+I\+N\+A\+\_\+\+P\+R\+I\+N\+T\+F(
\begin{DoxyParamCaption}
\item[{}]{fmt, }
\item[{}]{arg}
\end{DoxyParamCaption}
)}}\label{group__Eina__Types__Group_ga50265482f1d9b18e4b98e97cfa2c8d05}

\begin{DoxyParams}{Parameters}
{\em fmt} & The format to be used. \\
\hline
{\em arg} & The argument to be used. \\
\hline
\end{DoxyParams}
\hypertarget{group__Eina__Types__Group_ga31d6414e17005143acfe76147af1b809}{\index{Types@{Types}!E\+I\+N\+A\+\_\+\+S\+C\+A\+N\+F@{E\+I\+N\+A\+\_\+\+S\+C\+A\+N\+F}}
\index{E\+I\+N\+A\+\_\+\+S\+C\+A\+N\+F@{E\+I\+N\+A\+\_\+\+S\+C\+A\+N\+F}!Types@{Types}}
\subsubsection[{E\+I\+N\+A\+\_\+\+S\+C\+A\+N\+F}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+I\+N\+A\+\_\+\+S\+C\+A\+N\+F(
\begin{DoxyParamCaption}
\item[{}]{fmt, }
\item[{}]{arg}
\end{DoxyParamCaption}
)}}\label{group__Eina__Types__Group_ga31d6414e17005143acfe76147af1b809}

\begin{DoxyParams}{Parameters}
{\em fmt} & The format to be used. \\
\hline
{\em arg} & The argument to be used. \\
\hline
\end{DoxyParams}
\hypertarget{group__Eina__Types__Group_gade276891541922d842e1f719ed4e08e0}{\index{Types@{Types}!E\+I\+N\+A\+\_\+\+F\+O\+R\+M\+A\+T@{E\+I\+N\+A\+\_\+\+F\+O\+R\+M\+A\+T}}
\index{E\+I\+N\+A\+\_\+\+F\+O\+R\+M\+A\+T@{E\+I\+N\+A\+\_\+\+F\+O\+R\+M\+A\+T}!Types@{Types}}
\subsubsection[{E\+I\+N\+A\+\_\+\+F\+O\+R\+M\+A\+T}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+I\+N\+A\+\_\+\+F\+O\+R\+M\+A\+T(
\begin{DoxyParamCaption}
\item[{}]{fmt}
\end{DoxyParamCaption}
)}}\label{group__Eina__Types__Group_gade276891541922d842e1f719ed4e08e0}

\begin{DoxyParams}{Parameters}
{\em fmt} & The format to be used. \\
\hline
\end{DoxyParams}
\hypertarget{group__Eina__Types__Group_ga70675a75a5fb3e9a51d5af985a1fd3aa}{\index{Types@{Types}!E\+I\+N\+A\+\_\+\+U\+N\+L\+I\+K\+E\+L\+Y@{E\+I\+N\+A\+\_\+\+U\+N\+L\+I\+K\+E\+L\+Y}}
\index{E\+I\+N\+A\+\_\+\+U\+N\+L\+I\+K\+E\+L\+Y@{E\+I\+N\+A\+\_\+\+U\+N\+L\+I\+K\+E\+L\+Y}!Types@{Types}}
\subsubsection[{E\+I\+N\+A\+\_\+\+U\+N\+L\+I\+K\+E\+L\+Y}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+I\+N\+A\+\_\+\+U\+N\+L\+I\+K\+E\+L\+Y(
\begin{DoxyParamCaption}
\item[{}]{exp}
\end{DoxyParamCaption}
)~exp}}\label{group__Eina__Types__Group_ga70675a75a5fb3e9a51d5af985a1fd3aa}

\begin{DoxyParams}{Parameters}
{\em exp} & The expression to be used. \\
\hline
\end{DoxyParams}


Referenced by ecore\+\_\+time\+\_\+get(), eina\+\_\+file\+\_\+direct\+\_\+ls(), eina\+\_\+file\+\_\+ls(), eina\+\_\+file\+\_\+stat\+\_\+ls(), eina\+\_\+inlist\+\_\+remove(), eina\+\_\+mempool\+\_\+alignof(), eina\+\_\+sched\+\_\+prio\+\_\+drop(), and eina\+\_\+shutdown().

\hypertarget{group__Eina__Types__Group_gaa9820797ec4c069e571f57e3c0c12216}{\index{Types@{Types}!E\+I\+N\+A\+\_\+\+L\+I\+K\+E\+L\+Y@{E\+I\+N\+A\+\_\+\+L\+I\+K\+E\+L\+Y}}
\index{E\+I\+N\+A\+\_\+\+L\+I\+K\+E\+L\+Y@{E\+I\+N\+A\+\_\+\+L\+I\+K\+E\+L\+Y}!Types@{Types}}
\subsubsection[{E\+I\+N\+A\+\_\+\+L\+I\+K\+E\+L\+Y}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+I\+N\+A\+\_\+\+L\+I\+K\+E\+L\+Y(
\begin{DoxyParamCaption}
\item[{}]{exp}
\end{DoxyParamCaption}
)~exp}}\label{group__Eina__Types__Group_gaa9820797ec4c069e571f57e3c0c12216}

\begin{DoxyParams}{Parameters}
{\em exp} & The expression to be used. \\
\hline
\end{DoxyParams}


Referenced by eina\+\_\+init(), and eina\+\_\+log\+\_\+level\+\_\+set().

\hypertarget{group__Eina__Types__Group_gab767b5b607b3805cb088cd4ba93e3c3b}{\index{Types@{Types}!E\+I\+N\+A\+\_\+\+S\+E\+N\+T\+I\+N\+E\+L@{E\+I\+N\+A\+\_\+\+S\+E\+N\+T\+I\+N\+E\+L}}
\index{E\+I\+N\+A\+\_\+\+S\+E\+N\+T\+I\+N\+E\+L@{E\+I\+N\+A\+\_\+\+S\+E\+N\+T\+I\+N\+E\+L}!Types@{Types}}
\subsubsection[{E\+I\+N\+A\+\_\+\+S\+E\+N\+T\+I\+N\+E\+L}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+I\+N\+A\+\_\+\+S\+E\+N\+T\+I\+N\+E\+L}}\label{group__Eina__Types__Group_gab767b5b607b3805cb088cd4ba93e3c3b}


Attribute from gcc to prevent calls without the necessary N\+U\+L\+L sentinel in certain variadic functions. 

\begin{DoxySince}{Since}
1.\+7.\+0 
\end{DoxySince}
\hypertarget{group__Eina__Types__Group_ga7c1b6f81660b4e30516169e9e7d3261c}{\index{Types@{Types}!E\+I\+N\+A\+\_\+\+C\+\_\+\+A\+R\+R\+A\+Y\+\_\+\+L\+E\+N\+G\+T\+H@{E\+I\+N\+A\+\_\+\+C\+\_\+\+A\+R\+R\+A\+Y\+\_\+\+L\+E\+N\+G\+T\+H}}
\index{E\+I\+N\+A\+\_\+\+C\+\_\+\+A\+R\+R\+A\+Y\+\_\+\+L\+E\+N\+G\+T\+H@{E\+I\+N\+A\+\_\+\+C\+\_\+\+A\+R\+R\+A\+Y\+\_\+\+L\+E\+N\+G\+T\+H}!Types@{Types}}
\subsubsection[{E\+I\+N\+A\+\_\+\+C\+\_\+\+A\+R\+R\+A\+Y\+\_\+\+L\+E\+N\+G\+T\+H}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+I\+N\+A\+\_\+\+C\+\_\+\+A\+R\+R\+A\+Y\+\_\+\+L\+E\+N\+G\+T\+H(
\begin{DoxyParamCaption}
\item[{}]{arr}
\end{DoxyParamCaption}
)~(sizeof(arr) / sizeof((arr)\mbox{[}0\mbox{]}))}}\label{group__Eina__Types__Group_ga7c1b6f81660b4e30516169e9e7d3261c}


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
\hyperlink{complex-types-server_8c-example}{complex-\/types-\/server.\+c}, \hyperlink{eina_value_02_8c-example}{eina\+\_\+value\+\_\+02.\+c}, and \hyperlink{ephysics_logo_8c-example}{ephysics\+\_\+logo.\+c}.\end{Desc}


\subsection{Typedef Documentation}
\hypertarget{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{\index{Types@{Types}!Eina\+\_\+\+Bool@{Eina\+\_\+\+Bool}}
\index{Eina\+\_\+\+Bool@{Eina\+\_\+\+Bool}!Types@{Types}}
\subsubsection[{Eina\+\_\+\+Bool}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool}}}\label{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}


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}
\hypertarget{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}{\index{Types@{Types}!Eina\+\_\+\+Compare\+\_\+\+Cb@{Eina\+\_\+\+Compare\+\_\+\+Cb}}
\index{Eina\+\_\+\+Compare\+\_\+\+Cb@{Eina\+\_\+\+Compare\+\_\+\+Cb}!Types@{Types}}
\subsubsection[{Eina\+\_\+\+Compare\+\_\+\+Cb}]{\setlength{\rightskip}{0pt plus 5cm}Eina\+\_\+\+Compare\+\_\+\+Cb}}\label{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}


Function used in functions using sorting. 

It compares {\ttfamily data1} and {\ttfamily data2}. If {\ttfamily data1} is 'less' than {\ttfamily data2}, -\/1 must be returned, if it is 'greater', 1 must be returned, and if they are equal, 0 must be returned. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{eina_list_02_8c-example}{eina\+\_\+list\+\_\+02.\+c}.\end{Desc}
\hypertarget{group__Eina__Types__Group_ga7331c88690f77b217b19cc5678cbdc24}{\index{Types@{Types}!Eina\+\_\+\+Random\+\_\+\+Cb@{Eina\+\_\+\+Random\+\_\+\+Cb}}
\index{Eina\+\_\+\+Random\+\_\+\+Cb@{Eina\+\_\+\+Random\+\_\+\+Cb}!Types@{Types}}
\subsubsection[{Eina\+\_\+\+Random\+\_\+\+Cb}]{\setlength{\rightskip}{0pt plus 5cm}Eina\+\_\+\+Random\+\_\+\+Cb}}\label{group__Eina__Types__Group_ga7331c88690f77b217b19cc5678cbdc24}


Function used in shuffling functions. 

An integer betwen min and max inclusive must be returned.

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