\hypertarget{group__Eina__Inline__Array__Group}{}\doxysection{Inline Array}
\label{group__Eina__Inline__Array__Group}\index{Inline Array@{Inline Array}}


Inline array is a container that stores the data itself, not the pointers to the data.  


\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__Eina__Inarray}{\+\_\+\+Eina\+\_\+\+Inarray}}
\begin{DoxyCompactList}\small\item\em Inline array structure. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{group__Eina__Inline__Array__Group_gab6ffcad27b5099aa34af9ecd5e2b22f9}{EINA\+\_\+\+INARRAY\+\_\+\+FOREACH}}(array,  itr)
\begin{DoxyCompactList}\small\item\em Walks through an array linearly from head to tail. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga0bfd07aebdb03651a901f3ba6b8e50cb}{EINA\+\_\+\+INARRAY\+\_\+\+REVERSE\+\_\+\+FOREACH}}(array,  itr)
\begin{DoxyCompactList}\small\item\em Walks through an array linearly from tail to head. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \mbox{\hyperlink{struct__Eina__Inarray}{\+\_\+\+Eina\+\_\+\+Inarray}} \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}}
\begin{DoxyCompactList}\small\item\em Type for the inlined array. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$ \mbox{\hyperlink{group__Eina__Inline__Array__Group_gab90ef5e018c9e18341d5057254fd2f5b}{eina\+\_\+inarray\+\_\+new}} (unsigned int member\+\_\+size, unsigned int step)
\begin{DoxyCompactList}\small\item\em Creates a new inline array. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga030924ac7ef1ce357b328e4a40e5f77f}{eina\+\_\+inarray\+\_\+free}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array)
\begin{DoxyCompactList}\small\item\em Frees an array and its members. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Inline__Array__Group_gaf21d934d2af2fd7872187db4f4dd52cf}{eina\+\_\+inarray\+\_\+step\+\_\+set}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, unsigned int sizeof\+\_\+eina\+\_\+inarray, unsigned int member\+\_\+size, unsigned int step)
\begin{DoxyCompactList}\small\item\em Initializes an inline array. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga3adeb0e441f32ab67ec498964826aaf0}{eina\+\_\+inarray\+\_\+flush}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array)
\begin{DoxyCompactList}\small\item\em Removes every member from the array. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga1546c690e7e63307af20f7ac3db1b095}{eina\+\_\+inarray\+\_\+push}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Copies the data as the last member of the array. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void $\ast$ \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga3c06de46c54f27304cc635dd74a2d1c6}{eina\+\_\+inarray\+\_\+grow}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, unsigned int size)
\begin{DoxyCompactList}\small\item\em Allocates new item at the end of the array. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int \mbox{\hyperlink{group__Eina__Inline__Array__Group_gab8dab6c26190fa6802cf5a02922e8005}{eina\+\_\+inarray\+\_\+insert}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, const void $\ast$data, \mbox{\hyperlink{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}{Eina\+\_\+\+Compare\+\_\+\+Cb}} compare)
\begin{DoxyCompactList}\small\item\em Copies the data to the array at a position found by the comparison function. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga8fb844f63ddda56260624756942d3e6e}{eina\+\_\+inarray\+\_\+insert\+\_\+sorted}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, const void $\ast$data, \mbox{\hyperlink{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}{Eina\+\_\+\+Compare\+\_\+\+Cb}} compare)
\begin{DoxyCompactList}\small\item\em Copies the data to the array at a position found by the comparison function. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga67a940f746887b7c51f4e2522a371b82}{eina\+\_\+inarray\+\_\+remove}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Finds data and removes the matching member. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void $\ast$ \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga756f902616ab8bdac3ebb44c27af9f83}{eina\+\_\+inarray\+\_\+pop}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array)
\begin{DoxyCompactList}\small\item\em Removes the last member of the array. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void $\ast$ \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga735a7d9258cb704c544b8eba99312adb}{eina\+\_\+inarray\+\_\+nth}} (const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, unsigned int position)
\begin{DoxyCompactList}\small\item\em Gets the member at the given position. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga81ce838167d5a77d727ff8530371c445}{eina\+\_\+inarray\+\_\+insert\+\_\+at}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, unsigned int position, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Copies the data at the given position in the array. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void $\ast$ \mbox{\hyperlink{group__Eina__Inline__Array__Group_gaf73a12eda154420e87059bdb8f6a0c31}{eina\+\_\+inarray\+\_\+alloc\+\_\+at}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, unsigned int position, unsigned int member\+\_\+count)
\begin{DoxyCompactList}\small\item\em Opens a space at the given position, returning its pointer. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga8bd6697888c2fe29b25414663e8d1890}{eina\+\_\+inarray\+\_\+replace\+\_\+at}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, unsigned int position, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Copies the data to the given position. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Inline__Array__Group_gad0f4ac79c3a3c6d67a72bb08687d20e6}{eina\+\_\+inarray\+\_\+remove\+\_\+at}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, unsigned int position)
\begin{DoxyCompactList}\small\item\em Removes a member from the given position. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga477cfe9c94bd8941e896e3e31bbe553c}{eina\+\_\+inarray\+\_\+reverse}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array)
\begin{DoxyCompactList}\small\item\em Reverses members in the array. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga4e481a04c6a0f677722d810c3a6f41d8}{eina\+\_\+inarray\+\_\+sort}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, \mbox{\hyperlink{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}{Eina\+\_\+\+Compare\+\_\+\+Cb}} compare)
\begin{DoxyCompactList}\small\item\em Applies a quick sort to the array. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga9b2d972e4eb71a2cb9ab7d42e841c994}{eina\+\_\+inarray\+\_\+search}} (const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, const void $\ast$data, \mbox{\hyperlink{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}{Eina\+\_\+\+Compare\+\_\+\+Cb}} compare)
\begin{DoxyCompactList}\small\item\em Searches for a member (linear walk). \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga9a6e430eb275cfa62d440976bdb96cd3}{eina\+\_\+inarray\+\_\+search\+\_\+sorted}} (const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, const void $\ast$data, \mbox{\hyperlink{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}{Eina\+\_\+\+Compare\+\_\+\+Cb}} compare)
\begin{DoxyCompactList}\small\item\em Searches for member (binary search walk). \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac5bd41afb6564610840cab1435a859c4}{eina\+\_\+inarray\+\_\+foreach}} (const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, \mbox{\hyperlink{group__Eina__Types__Group_gab115f6c19b6641ab5ba22ed45d9b7aa4}{Eina\+\_\+\+Each\+\_\+\+Cb}} function, const void $\ast$user\+\_\+data)
\begin{DoxyCompactList}\small\item\em Calls {\ttfamily function} for each array member. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int \mbox{\hyperlink{group__Eina__Inline__Array__Group_gab8af58a2dde777d93ebfe5626634f227}{eina\+\_\+inarray\+\_\+foreach\+\_\+remove}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, \mbox{\hyperlink{group__Eina__Types__Group_gab115f6c19b6641ab5ba22ed45d9b7aa4}{Eina\+\_\+\+Each\+\_\+\+Cb}} match, const void $\ast$user\+\_\+data)
\begin{DoxyCompactList}\small\item\em Removes all the members that match. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga0d7df8591c09daaef0a2f282591ddfe7}{eina\+\_\+inarray\+\_\+resize}} (\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array, unsigned int new\+\_\+size)
\begin{DoxyCompactList}\small\item\em Resizes array to new size. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} unsigned int \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga63333e28eaa59cf00bc748b3df55bad7}{eina\+\_\+inarray\+\_\+count}} (const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array)
\begin{DoxyCompactList}\small\item\em Counts the number of members in an array. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator}} $\ast$ \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga1fb93f287c45fb13b8ea2e49a3345a6d}{eina\+\_\+inarray\+\_\+iterator\+\_\+new}} (const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array)
\begin{DoxyCompactList}\small\item\em Returns a new iterator associated to an array. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator}} $\ast$ \mbox{\hyperlink{group__Eina__Inline__Array__Group_gaa5d86a7909649f993674dbabe38d3bbe}{eina\+\_\+inarray\+\_\+iterator\+\_\+reversed\+\_\+new}} (const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array)
\begin{DoxyCompactList}\small\item\em Returns a new reversed iterator associated to an array. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Accessor__Group_ga65199ea5201a1867471028477dc26744}{Eina\+\_\+\+Accessor}} $\ast$ \mbox{\hyperlink{group__Eina__Inline__Array__Group_gaa5fc4e6b315498bbef69b68cbb45d710}{eina\+\_\+inarray\+\_\+accessor\+\_\+new}} (const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$array)
\begin{DoxyCompactList}\small\item\em Returns a new accessor associated to an array. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Inline array is a container that stores the data itself, not the pointers to the data. 

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


This means there is no memory fragmentation, also for small data types (such as char, short, int, and so on) it\textquotesingle{}s more memory efficient.

Usage of the inline array is very similar to that of other \mbox{\hyperlink{group__Eina__Containers__Group}{Containers}}, like all arrays adding elements to the beginning of the array is a lot more costly than appending, so those operations should be minimized.

Examples\+: \begin{DoxyItemize}
\item \mbox{\hyperlink{eina_inarray_example_01}{Eina inline array usage}} \item \mbox{\hyperlink{eina_inarray_example_02}{Eina inline array of strings}} \end{DoxyItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{group__Eina__Inline__Array__Group_gab6ffcad27b5099aa34af9ecd5e2b22f9}\label{group__Eina__Inline__Array__Group_gab6ffcad27b5099aa34af9ecd5e2b22f9}} 
\index{Inline Array@{Inline Array}!EINA\_INARRAY\_FOREACH@{EINA\_INARRAY\_FOREACH}}
\index{EINA\_INARRAY\_FOREACH@{EINA\_INARRAY\_FOREACH}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{EINA\_INARRAY\_FOREACH}{EINA\_INARRAY\_FOREACH}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+INARRAY\+\_\+\+FOREACH(\begin{DoxyParamCaption}\item[{}]{array,  }\item[{}]{itr }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\ \ \textcolor{keywordflow}{for}\ ((itr)\ =\ (array)-\/>members;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ (itr)\ <\ (((\_\_typeof\_\_(*itr)*)(array)-\/>members)\ +\ (array)-\/>len);\ \ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ (itr)++)}

\end{DoxyCode}


Walks through an array linearly from head to tail. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em itr} & An iterator pointer\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
{\ttfamily itr} must be a pointer with sizeof(itr$\ast$) == array-\/\texorpdfstring{$>$}{>}member\+\_\+size.

This is fast as it does direct pointer access, but it does not check for {\ttfamily NULL} pointers or invalid array objects. Use \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac5bd41afb6564610840cab1435a859c4}{eina\+\_\+inarray\+\_\+foreach()}} to do that.

Do not modify an array as you walk through it. If that is desired, then use \mbox{\hyperlink{group__Eina__Inline__Array__Group_gab8af58a2dde777d93ebfe5626634f227}{eina\+\_\+inarray\+\_\+foreach\+\_\+remove()}}.
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{eina_inarray_01_8c-example}{eina\+\_\+inarray\+\_\+01.\+c}}, \mbox{\hyperlink{eina_inarray_02_8c-example}{eina\+\_\+inarray\+\_\+02.\+c}}, and \mbox{\hyperlink{eina_inarray_03_8c-example}{eina\+\_\+inarray\+\_\+03.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga0bfd07aebdb03651a901f3ba6b8e50cb}\label{group__Eina__Inline__Array__Group_ga0bfd07aebdb03651a901f3ba6b8e50cb}} 
\index{Inline Array@{Inline Array}!EINA\_INARRAY\_REVERSE\_FOREACH@{EINA\_INARRAY\_REVERSE\_FOREACH}}
\index{EINA\_INARRAY\_REVERSE\_FOREACH@{EINA\_INARRAY\_REVERSE\_FOREACH}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{EINA\_INARRAY\_REVERSE\_FOREACH}{EINA\_INARRAY\_REVERSE\_FOREACH}}
{\footnotesize\ttfamily \#define EINA\+\_\+\+INARRAY\+\_\+\+REVERSE\+\_\+\+FOREACH(\begin{DoxyParamCaption}\item[{}]{array,  }\item[{}]{itr }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\ \ \textcolor{keywordflow}{for}\ ((itr)\ =\ ((((\_\_typeof\_\_(*(itr))*)(array)-\/>members)\ +\ (array)-\/>len)\ -\/\ 1);\ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ (((itr)\ >=\ (\_\_typeof\_\_(*(itr))*)(array)-\/>members)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \&\&\ ((array)-\/>members\ !=\ NULL));\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}
\DoxyCodeLine{\ \ \ \ \ \ \ (itr)-\/-\/)}

\end{DoxyCode}


Walks through an array linearly from tail to head. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em itr} & An iterator pointer\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
{\ttfamily itr} must be a pointer with sizeof(itr$\ast$) == array-\/\texorpdfstring{$>$}{>}member\+\_\+size.

This is fast as it does direct pointer access, but it does not check for {\ttfamily NULL} pointers or invalid array objects.

Do not modify an array as you walk through it. If that is desired, then use \mbox{\hyperlink{group__Eina__Inline__Array__Group_gab8af58a2dde777d93ebfe5626634f227}{eina\+\_\+inarray\+\_\+foreach\+\_\+remove()}}.
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}\label{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}} 
\index{Inline Array@{Inline Array}!Eina\_Inarray@{Eina\_Inarray}}
\index{Eina\_Inarray@{Eina\_Inarray}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{Eina\_Inarray}{Eina\_Inarray}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}}}



Type for the inlined array. 

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


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__Inline__Array__Group_gab90ef5e018c9e18341d5057254fd2f5b}\label{group__Eina__Inline__Array__Group_gab90ef5e018c9e18341d5057254fd2f5b}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_new@{eina\_inarray\_new}}
\index{eina\_inarray\_new@{eina\_inarray\_new}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_new()}{eina\_inarray\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$ eina\+\_\+inarray\+\_\+new (\begin{DoxyParamCaption}\item[{unsigned int}]{member\+\_\+size,  }\item[{unsigned int}]{step }\end{DoxyParamCaption})}



Creates a new inline array. 

This creates a new array where members are inlined in a sequence. Each member has {\itshape member\+\_\+size} bytes.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em member\+\_\+size} & The size of each member in the array \\
\hline
\mbox{\texttt{ in}}  & {\em step} & The step size by which to resize the array, do this using the following extra amount \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The new inline array table, otherwise {\ttfamily NULL} on failure
\end{DoxyReturn}
\begin{DoxyNote}{Note}
If the {\itshape step} is {\ttfamily 0}, then a safe default is chosen.

On failure, {\ttfamily NULL} is returned. If {\ttfamily member\+\_\+size} is zero, then {\ttfamily NULL} is returned.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Inline__Array__Group_ga030924ac7ef1ce357b328e4a40e5f77f}{eina\+\_\+inarray\+\_\+free()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1dbe0d7e3c6b10f4bd49a2a132d73269}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN\+\_\+\+VAL}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga030924ac7ef1ce357b328e4a40e5f77f}\label{group__Eina__Inline__Array__Group_ga030924ac7ef1ce357b328e4a40e5f77f}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_free@{eina\_inarray\_free}}
\index{eina\_inarray\_free@{eina\_inarray\_free}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_free()}{eina\_inarray\_free()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+inarray\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array }\end{DoxyParamCaption})}



Frees an array and its members. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Inline__Array__Group_ga3adeb0e441f32ab67ec498964826aaf0}{eina\+\_\+inarray\+\_\+flush()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{struct__Eina__Inarray_a86e85ff27c6029fc375ec9625f6bb6e7}{\+\_\+\+Eina\+\_\+\+Inarray\+::members}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_gaf21d934d2af2fd7872187db4f4dd52cf}\label{group__Eina__Inline__Array__Group_gaf21d934d2af2fd7872187db4f4dd52cf}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_step\_set@{eina\_inarray\_step\_set}}
\index{eina\_inarray\_step\_set@{eina\_inarray\_step\_set}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_step\_set()}{eina\_inarray\_step\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+inarray\+\_\+step\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{unsigned int}]{sizeof\+\_\+eina\+\_\+inarray,  }\item[{unsigned int}]{member\+\_\+size,  }\item[{unsigned int}]{step }\end{DoxyParamCaption})}



Initializes an inline array. 

This initializes an array. If the {\ttfamily step} is {\ttfamily 0}, then a safe default is chosen.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object to initialize \\
\hline
\mbox{\texttt{ in}}  & {\em sizeof\+\_\+eina\+\_\+inarray} & The size of array object \\
\hline
\mbox{\texttt{ in}}  & {\em member\+\_\+size} & The size of each member in the array \\
\hline
\mbox{\texttt{ in}}  & {\em step} & The step size by which to resize the array, do this using the following extra amount\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
This is useful for arrays inlined into other structures or allocated to a stack.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Inline__Array__Group_ga3adeb0e441f32ab67ec498964826aaf0}{eina\+\_\+inarray\+\_\+flush()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1ccf8538d0015b3801ff642e6156843a}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN}}, and \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga8b89fd35e22beece51443e29fe585935}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga3adeb0e441f32ab67ec498964826aaf0}\label{group__Eina__Inline__Array__Group_ga3adeb0e441f32ab67ec498964826aaf0}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_flush@{eina\_inarray\_flush}}
\index{eina\_inarray\_flush@{eina\_inarray\_flush}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_flush()}{eina\_inarray\_flush()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+inarray\+\_\+flush (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array }\end{DoxyParamCaption})}



Removes every member from the array. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}, \mbox{\hyperlink{struct__Eina__Inarray_ae6ae61e9ab643c0df48f6873b8d04081}{\+\_\+\+Eina\+\_\+\+Inarray\+::max}}, and \mbox{\hyperlink{struct__Eina__Inarray_a86e85ff27c6029fc375ec9625f6bb6e7}{\+\_\+\+Eina\+\_\+\+Inarray\+::members}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga1546c690e7e63307af20f7ac3db1b095}\label{group__Eina__Inline__Array__Group_ga1546c690e7e63307af20f7ac3db1b095}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_push@{eina\_inarray\_push}}
\index{eina\_inarray\_push@{eina\_inarray\_push}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_push()}{eina\_inarray\_push()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int eina\+\_\+inarray\+\_\+push (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Copies the data as the last member of the array. 

This copies the given pointer contents at the end of the array. The pointer is not referenced, instead its contents are copied to the members array using the previously defined {\ttfamily member\+\_\+size}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The data to be copied at the end \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The index of the new member, otherwise {\ttfamily -\/1} on errors
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Inline__Array__Group_ga81ce838167d5a77d727ff8530371c445}{eina\+\_\+inarray\+\_\+insert\+\_\+at()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}, and \mbox{\hyperlink{struct__Eina__Inarray_a7047e9bd635712316a07ed76f4dc98d1}{\+\_\+\+Eina\+\_\+\+Inarray\+::member\+\_\+size}}.



Referenced by \mbox{\hyperlink{group__Eina__Inline__Array__Group_gab8dab6c26190fa6802cf5a02922e8005}{eina\+\_\+inarray\+\_\+insert()}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga3c06de46c54f27304cc635dd74a2d1c6}\label{group__Eina__Inline__Array__Group_ga3c06de46c54f27304cc635dd74a2d1c6}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_grow@{eina\_inarray\_grow}}
\index{eina\_inarray\_grow@{eina\_inarray\_grow}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_grow()}{eina\_inarray\_grow()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void $\ast$ eina\+\_\+inarray\+\_\+grow (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{unsigned int}]{size }\end{DoxyParamCaption})}



Allocates new item at the end of the array. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em size} & The number of new item to allocate\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
The returned pointer is only valid until you use any other eina\+\_\+inarray function.
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}.



Referenced by \mbox{\hyperlink{group__Evas__Main__Group_gafcca136f98f771bd1f159361f710786e}{evas\+\_\+async\+\_\+events\+\_\+put()}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_gab8dab6c26190fa6802cf5a02922e8005}\label{group__Eina__Inline__Array__Group_gab8dab6c26190fa6802cf5a02922e8005}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_insert@{eina\_inarray\_insert}}
\index{eina\_inarray\_insert@{eina\_inarray\_insert}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_insert()}{eina\_inarray\_insert()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int eina\+\_\+inarray\+\_\+insert (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{const void $\ast$}]{data,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}{Eina\+\_\+\+Compare\+\_\+\+Cb}}}]{compare }\end{DoxyParamCaption})}



Copies the data to the array at a position found by the comparison function. 

This copies the given pointer contents at the array position defined by the given {\itshape compare} function. The pointer is not referenced, instead its contents are copied to the members array using the previously defined {\ttfamily member\+\_\+size}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The data to be copied \\
\hline
\mbox{\texttt{ in}}  & {\em compare} & The compare function \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The index of the new member, otherwise {\ttfamily -\/1} on errors
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The data given to the {\ttfamily compare} function is a pointer to the member memory itself, do no change it.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Inline__Array__Group_ga8fb844f63ddda56260624756942d3e6e}{eina\+\_\+inarray\+\_\+insert\+\_\+sorted()}} 

\mbox{\hyperlink{group__Eina__Inline__Array__Group_ga81ce838167d5a77d727ff8530371c445}{eina\+\_\+inarray\+\_\+insert\+\_\+at()}} 

\mbox{\hyperlink{group__Eina__Inline__Array__Group_ga1546c690e7e63307af20f7ac3db1b095}{eina\+\_\+inarray\+\_\+push()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga81ce838167d5a77d727ff8530371c445}{eina\+\_\+inarray\+\_\+insert\+\_\+at()}}, \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga1546c690e7e63307af20f7ac3db1b095}{eina\+\_\+inarray\+\_\+push()}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}, \mbox{\hyperlink{struct__Eina__Inarray_a7047e9bd635712316a07ed76f4dc98d1}{\+\_\+\+Eina\+\_\+\+Inarray\+::member\+\_\+size}}, and \mbox{\hyperlink{struct__Eina__Inarray_a86e85ff27c6029fc375ec9625f6bb6e7}{\+\_\+\+Eina\+\_\+\+Inarray\+::members}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga8fb844f63ddda56260624756942d3e6e}\label{group__Eina__Inline__Array__Group_ga8fb844f63ddda56260624756942d3e6e}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_insert\_sorted@{eina\_inarray\_insert\_sorted}}
\index{eina\_inarray\_insert\_sorted@{eina\_inarray\_insert\_sorted}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_insert\_sorted()}{eina\_inarray\_insert\_sorted()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int eina\+\_\+inarray\+\_\+insert\+\_\+sorted (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{const void $\ast$}]{data,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}{Eina\+\_\+\+Compare\+\_\+\+Cb}}}]{compare }\end{DoxyParamCaption})}



Copies the data to the array at a position found by the comparison function. 

This copies the given pointer contents at the array position defined by the given {\ttfamily compare} function. The pointer is not referenced, instead its contents are copied to the members array using the previously defined {\ttfamily member\+\_\+size}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The data to be copied \\
\hline
\mbox{\texttt{ in}}  & {\em compare} & The compare function \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The index of the new member, otherwise {\ttfamily -\/1} on errors
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The data given to the {\ttfamily compare} function is a pointer to the member memory itself, do no change it.

This variation optimizes the insertion position assuming that the array is already sorted by doing a binary search.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Inline__Array__Group_ga4e481a04c6a0f677722d810c3a6f41d8}{eina\+\_\+inarray\+\_\+sort()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga81ce838167d5a77d727ff8530371c445}{eina\+\_\+inarray\+\_\+insert\+\_\+at()}}, and \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga67a940f746887b7c51f4e2522a371b82}\label{group__Eina__Inline__Array__Group_ga67a940f746887b7c51f4e2522a371b82}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_remove@{eina\_inarray\_remove}}
\index{eina\_inarray\_remove@{eina\_inarray\_remove}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_remove()}{eina\_inarray\_remove()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int eina\+\_\+inarray\+\_\+remove (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Finds data and removes the matching member. 

This finds data in the array and removes it. Data may be an existing member of the array (then optimized) or the contents are matched using memcmp().


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The data to be found and removed \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The index of the removed member, otherwise {\ttfamily -\/1} on errors
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Inline__Array__Group_ga756f902616ab8bdac3ebb44c27af9f83}{eina\+\_\+inarray\+\_\+pop()}} 

\mbox{\hyperlink{group__Eina__Inline__Array__Group_gad0f4ac79c3a3c6d67a72bb08687d20e6}{eina\+\_\+inarray\+\_\+remove\+\_\+at()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Inline__Array__Group_gad0f4ac79c3a3c6d67a72bb08687d20e6}{eina\+\_\+inarray\+\_\+remove\+\_\+at()}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}, \mbox{\hyperlink{struct__Eina__Inarray_a7047e9bd635712316a07ed76f4dc98d1}{\+\_\+\+Eina\+\_\+\+Inarray\+::member\+\_\+size}}, and \mbox{\hyperlink{struct__Eina__Inarray_a86e85ff27c6029fc375ec9625f6bb6e7}{\+\_\+\+Eina\+\_\+\+Inarray\+::members}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga756f902616ab8bdac3ebb44c27af9f83}\label{group__Eina__Inline__Array__Group_ga756f902616ab8bdac3ebb44c27af9f83}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_pop@{eina\_inarray\_pop}}
\index{eina\_inarray\_pop@{eina\_inarray\_pop}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_pop()}{eina\_inarray\_pop()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void $\ast$ eina\+\_\+inarray\+\_\+pop (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array }\end{DoxyParamCaption})}



Removes the last member of the array. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The data popped out of the array
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The data could be considered valid only until any other operation touched the Inarray.
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga735a7d9258cb704c544b8eba99312adb}\label{group__Eina__Inline__Array__Group_ga735a7d9258cb704c544b8eba99312adb}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_nth@{eina\_inarray\_nth}}
\index{eina\_inarray\_nth@{eina\_inarray\_nth}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_nth()}{eina\_inarray\_nth()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void $\ast$ eina\+\_\+inarray\+\_\+nth (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{unsigned int}]{position }\end{DoxyParamCaption})}



Gets the member at the given position. 

This gets the member given that its position in the array is provided. It is a pointer to its current memory, then it can be invalidated with functions that change the array such as \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga1546c690e7e63307af20f7ac3db1b095}{eina\+\_\+inarray\+\_\+push()}}, \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga81ce838167d5a77d727ff8530371c445}{eina\+\_\+inarray\+\_\+insert\+\_\+at()}}, or \mbox{\hyperlink{group__Eina__Inline__Array__Group_gad0f4ac79c3a3c6d67a72bb08687d20e6}{eina\+\_\+inarray\+\_\+remove\+\_\+at()}}, or variants.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em position} & The member position \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A pointer to current the member memory
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1dbe0d7e3c6b10f4bd49a2a132d73269}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN\+\_\+\+VAL}}, and \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga81ce838167d5a77d727ff8530371c445}\label{group__Eina__Inline__Array__Group_ga81ce838167d5a77d727ff8530371c445}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_insert\_at@{eina\_inarray\_insert\_at}}
\index{eina\_inarray\_insert\_at@{eina\_inarray\_insert\_at}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_insert\_at()}{eina\_inarray\_insert\_at()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+inarray\+\_\+insert\+\_\+at (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{unsigned int}]{position,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Copies the data at the given position in the array. 

This copies the given pointer contents at the given {\ttfamily position} in the array. The pointer is not referenced, instead its contents are copied to the members array using the previously defined {\ttfamily member\+\_\+size}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em position} & The position to insert the member at \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The data to be copied at the position \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, otherwise \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} on failure
\end{DoxyReturn}
\begin{DoxyNote}{Note}
All the members from {\itshape position} to the end of the array are shifted to the end.

If {\itshape position} is equal to the end of the array (equal to \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga63333e28eaa59cf00bc748b3df55bad7}{eina\+\_\+inarray\+\_\+count()}}), then the member is appended.

If {\itshape position} is bigger than the array length, it fails.
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1dbe0d7e3c6b10f4bd49a2a132d73269}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}, \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}, and \mbox{\hyperlink{struct__Eina__Inarray_a7047e9bd635712316a07ed76f4dc98d1}{\+\_\+\+Eina\+\_\+\+Inarray\+::member\+\_\+size}}.



Referenced by \mbox{\hyperlink{group__Eina__Inline__Array__Group_gab8dab6c26190fa6802cf5a02922e8005}{eina\+\_\+inarray\+\_\+insert()}}, and \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga8fb844f63ddda56260624756942d3e6e}{eina\+\_\+inarray\+\_\+insert\+\_\+sorted()}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_gaf73a12eda154420e87059bdb8f6a0c31}\label{group__Eina__Inline__Array__Group_gaf73a12eda154420e87059bdb8f6a0c31}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_alloc\_at@{eina\_inarray\_alloc\_at}}
\index{eina\_inarray\_alloc\_at@{eina\_inarray\_alloc\_at}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_alloc\_at()}{eina\_inarray\_alloc\_at()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void $\ast$ eina\+\_\+inarray\+\_\+alloc\+\_\+at (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{unsigned int}]{position,  }\item[{unsigned int}]{member\+\_\+count }\end{DoxyParamCaption})}



Opens a space at the given position, returning its pointer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em position} & The position to insert first member at (open/allocate space) \\
\hline
\mbox{\texttt{ in}}  & {\em member\+\_\+count} & The number of times {\ttfamily member\+\_\+size} bytes are allocated \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A pointer to the first member memory allocated, otherwise {\ttfamily NULL} on errors
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This is similar to \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga81ce838167d5a77d727ff8530371c445}{eina\+\_\+inarray\+\_\+insert\+\_\+at()}}, but useful if the members contents are still unknown or unallocated. It makes room for the required number of items and returns the pointer to the first item, similar to malloc(member\+\_\+count $\ast$ member\+\_\+size), with the guarantee that all the memory is within the members array.

The new member memory is undefined, it\textquotesingle{}s not automatically zeroed.

All the members from {\itshape position} to the end of the array are shifted to the end.

If {\itshape position} is equal to the end of the array (equal to \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga63333e28eaa59cf00bc748b3df55bad7}{eina\+\_\+inarray\+\_\+count()}}), then the member is appended.

If {\itshape position} is bigger than the array length, it fails.
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1dbe0d7e3c6b10f4bd49a2a132d73269}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}, and \mbox{\hyperlink{struct__Eina__Inarray_a7047e9bd635712316a07ed76f4dc98d1}{\+\_\+\+Eina\+\_\+\+Inarray\+::member\+\_\+size}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga8bd6697888c2fe29b25414663e8d1890}\label{group__Eina__Inline__Array__Group_ga8bd6697888c2fe29b25414663e8d1890}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_replace\_at@{eina\_inarray\_replace\_at}}
\index{eina\_inarray\_replace\_at@{eina\_inarray\_replace\_at}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_replace\_at()}{eina\_inarray\_replace\_at()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+inarray\+\_\+replace\+\_\+at (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{unsigned int}]{position,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Copies the data to the given position. 

This copies the given pointer contents at the given {\ttfamily position} in the array. The pointer is not referenced, instead its contents are copied to the members array using the previously defined {\ttfamily member\+\_\+size}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em position} & The position to copy the member at \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The data to be copied at the position \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, otherwise \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} on failure
\end{DoxyReturn}
\begin{DoxyNote}{Note}
If {\ttfamily position} does not exist, it fails.
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1dbe0d7e3c6b10f4bd49a2a132d73269}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}, \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}, and \mbox{\hyperlink{struct__Eina__Inarray_a7047e9bd635712316a07ed76f4dc98d1}{\+\_\+\+Eina\+\_\+\+Inarray\+::member\+\_\+size}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_gad0f4ac79c3a3c6d67a72bb08687d20e6}\label{group__Eina__Inline__Array__Group_gad0f4ac79c3a3c6d67a72bb08687d20e6}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_remove\_at@{eina\_inarray\_remove\_at}}
\index{eina\_inarray\_remove\_at@{eina\_inarray\_remove\_at}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_remove\_at()}{eina\_inarray\_remove\_at()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+inarray\+\_\+remove\+\_\+at (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{unsigned int}]{position }\end{DoxyParamCaption})}



Removes a member from the given position. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em position} & The position from which to remove a member \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, otherwise \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} on failure
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The member is removed from an array and members after it are moved towards the array head.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Inline__Array__Group_ga756f902616ab8bdac3ebb44c27af9f83}{eina\+\_\+inarray\+\_\+pop()}} 

\mbox{\hyperlink{group__Eina__Inline__Array__Group_ga67a940f746887b7c51f4e2522a371b82}{eina\+\_\+inarray\+\_\+remove()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1dbe0d7e3c6b10f4bd49a2a132d73269}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}, \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}, and \mbox{\hyperlink{struct__Eina__Inarray_a7047e9bd635712316a07ed76f4dc98d1}{\+\_\+\+Eina\+\_\+\+Inarray\+::member\+\_\+size}}.



Referenced by \mbox{\hyperlink{group__Eina__Inline__Array__Group_gab8af58a2dde777d93ebfe5626634f227}{eina\+\_\+inarray\+\_\+foreach\+\_\+remove()}}, and \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga67a940f746887b7c51f4e2522a371b82}{eina\+\_\+inarray\+\_\+remove()}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga477cfe9c94bd8941e896e3e31bbe553c}\label{group__Eina__Inline__Array__Group_ga477cfe9c94bd8941e896e3e31bbe553c}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_reverse@{eina\_inarray\_reverse}}
\index{eina\_inarray\_reverse@{eina\_inarray\_reverse}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_reverse()}{eina\_inarray\_reverse()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+inarray\+\_\+reverse (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array }\end{DoxyParamCaption})}



Reverses members in the array. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
If you do not want to change the array, just walk through its elements backwards, then use the \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga0bfd07aebdb03651a901f3ba6b8e50cb}{EINA\+\_\+\+INARRAY\+\_\+\+REVERSE\+\_\+\+FOREACH()}} macro.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Inline__Array__Group_ga0bfd07aebdb03651a901f3ba6b8e50cb}{EINA\+\_\+\+INARRAY\+\_\+\+REVERSE\+\_\+\+FOREACH()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{eina__alloca_8h_ae13861224cb6597c3171a910683cb5fc}{alloca()}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1ccf8538d0015b3801ff642e6156843a}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN}}, \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}, \mbox{\hyperlink{struct__Eina__Inarray_a7047e9bd635712316a07ed76f4dc98d1}{\+\_\+\+Eina\+\_\+\+Inarray\+::member\+\_\+size}}, and \mbox{\hyperlink{struct__Eina__Inarray_a86e85ff27c6029fc375ec9625f6bb6e7}{\+\_\+\+Eina\+\_\+\+Inarray\+::members}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga4e481a04c6a0f677722d810c3a6f41d8}\label{group__Eina__Inline__Array__Group_ga4e481a04c6a0f677722d810c3a6f41d8}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_sort@{eina\_inarray\_sort}}
\index{eina\_inarray\_sort@{eina\_inarray\_sort}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_sort()}{eina\_inarray\_sort()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+inarray\+\_\+sort (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}{Eina\+\_\+\+Compare\+\_\+\+Cb}}}]{compare }\end{DoxyParamCaption})}



Applies a quick sort to the array. 

This applies a quick sort to the {\itshape array}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em compare} & The compare function\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
The data given to the {\itshape compare} function is a pointer to the member memory itself, do no change it.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Inline__Array__Group_ga8fb844f63ddda56260624756942d3e6e}{eina\+\_\+inarray\+\_\+insert\+\_\+sorted()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1ccf8538d0015b3801ff642e6156843a}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN}}, \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}, \mbox{\hyperlink{struct__Eina__Inarray_a7047e9bd635712316a07ed76f4dc98d1}{\+\_\+\+Eina\+\_\+\+Inarray\+::member\+\_\+size}}, and \mbox{\hyperlink{struct__Eina__Inarray_a86e85ff27c6029fc375ec9625f6bb6e7}{\+\_\+\+Eina\+\_\+\+Inarray\+::members}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga9b2d972e4eb71a2cb9ab7d42e841c994}\label{group__Eina__Inline__Array__Group_ga9b2d972e4eb71a2cb9ab7d42e841c994}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_search@{eina\_inarray\_search}}
\index{eina\_inarray\_search@{eina\_inarray\_search}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_search()}{eina\_inarray\_search()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int eina\+\_\+inarray\+\_\+search (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{const void $\ast$}]{data,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}{Eina\+\_\+\+Compare\+\_\+\+Cb}}}]{compare }\end{DoxyParamCaption})}



Searches for a member (linear walk). 

This walks through an array by linearly looking for the given data compared by the {\ttfamily compare} function.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The member to search using the {\ttfamily compare} function \\
\hline
\mbox{\texttt{ in}}  & {\em compare} & The compare function \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The member index, otherwise {\ttfamily -\/1} if not found
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The data given to the {\ttfamily compare} function is a pointer to the member memory itself, do no change it.
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga9a6e430eb275cfa62d440976bdb96cd3}\label{group__Eina__Inline__Array__Group_ga9a6e430eb275cfa62d440976bdb96cd3}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_search\_sorted@{eina\_inarray\_search\_sorted}}
\index{eina\_inarray\_search\_sorted@{eina\_inarray\_search\_sorted}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_search\_sorted()}{eina\_inarray\_search\_sorted()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int eina\+\_\+inarray\+\_\+search\+\_\+sorted (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{const void $\ast$}]{data,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga1b31ffcc0d46eed63a2381c5a011b486}{Eina\+\_\+\+Compare\+\_\+\+Cb}}}]{compare }\end{DoxyParamCaption})}



Searches for member (binary search walk). 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The member to search using the {\ttfamily compare} function \\
\hline
\mbox{\texttt{ in}}  & {\em compare} & The compare function \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The member index, otherwise {\ttfamily -\/1} if not found
\end{DoxyReturn}
\begin{DoxyNote}{Note}
Uses a binary search for the given data as compared by the {\ttfamily compare} function.

The data given to the {\ttfamily compare} function is a pointer to the member memory itself, do no change it.
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_gac5bd41afb6564610840cab1435a859c4}\label{group__Eina__Inline__Array__Group_gac5bd41afb6564610840cab1435a859c4}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_foreach@{eina\_inarray\_foreach}}
\index{eina\_inarray\_foreach@{eina\_inarray\_foreach}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_foreach()}{eina\_inarray\_foreach()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+inarray\+\_\+foreach (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_gab115f6c19b6641ab5ba22ed45d9b7aa4}{Eina\+\_\+\+Each\+\_\+\+Cb}}}]{function,  }\item[{const void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}



Calls {\ttfamily function} for each array member. 

This calls {\ttfamily function} for every given data in {\ttfamily array}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em function} & The callback function \\
\hline
\mbox{\texttt{ in}}  & {\em user\+\_\+data} & The user data given to a callback {\itshape function} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} if it successfully iterates all the items of the array
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This is a safe way to iterate over an array. {\ttfamily function} should return \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} as long as you want the function to continue iterating, by returning \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} it stops and returns \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} as the result.

The data given to {\ttfamily function} is a pointer to the member memory itself.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Inline__Array__Group_gab6ffcad27b5099aa34af9ecd5e2b22f9}{EINA\+\_\+\+INARRAY\+\_\+\+FOREACH()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}, \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}, \mbox{\hyperlink{struct__Eina__Inarray_a7047e9bd635712316a07ed76f4dc98d1}{\+\_\+\+Eina\+\_\+\+Inarray\+::member\+\_\+size}}, and \mbox{\hyperlink{struct__Eina__Inarray_a86e85ff27c6029fc375ec9625f6bb6e7}{\+\_\+\+Eina\+\_\+\+Inarray\+::members}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_gab8af58a2dde777d93ebfe5626634f227}\label{group__Eina__Inline__Array__Group_gab8af58a2dde777d93ebfe5626634f227}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_foreach\_remove@{eina\_inarray\_foreach\_remove}}
\index{eina\_inarray\_foreach\_remove@{eina\_inarray\_foreach\_remove}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_foreach\_remove()}{eina\_inarray\_foreach\_remove()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} int eina\+\_\+inarray\+\_\+foreach\+\_\+remove (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_gab115f6c19b6641ab5ba22ed45d9b7aa4}{Eina\+\_\+\+Each\+\_\+\+Cb}}}]{match,  }\item[{const void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}



Removes all the members that match. 

This removes all the entries in {\ttfamily array}, where the {\ttfamily match} function returns \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em match} & The match function \\
\hline
\mbox{\texttt{ in}}  & {\em user\+\_\+data} & The user data given to callback {\ttfamily match} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of removed entries, otherwise {\ttfamily -\/1} on error
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Inline__Array__Group_gad0f4ac79c3a3c6d67a72bb08687d20e6}{eina\+\_\+inarray\+\_\+remove\+\_\+at()}}, and \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga0d7df8591c09daaef0a2f282591ddfe7}\label{group__Eina__Inline__Array__Group_ga0d7df8591c09daaef0a2f282591ddfe7}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_resize@{eina\_inarray\_resize}}
\index{eina\_inarray\_resize@{eina\_inarray\_resize}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_resize()}{eina\_inarray\_resize()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+inarray\+\_\+resize (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array,  }\item[{unsigned int}]{new\+\_\+size }\end{DoxyParamCaption})}



Resizes array to new size. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\mbox{\texttt{ in}}  & {\em new\+\_\+size} & New size for resize \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} if it resized the array successfully.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+10 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}, and \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga63333e28eaa59cf00bc748b3df55bad7}\label{group__Eina__Inline__Array__Group_ga63333e28eaa59cf00bc748b3df55bad7}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_count@{eina\_inarray\_count}}
\index{eina\_inarray\_count@{eina\_inarray\_count}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_count()}{eina\_inarray\_count()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} unsigned int eina\+\_\+inarray\+\_\+count (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array }\end{DoxyParamCaption})}



Counts the number of members in an array. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of members in the array
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_ga1fb93f287c45fb13b8ea2e49a3345a6d}\label{group__Eina__Inline__Array__Group_ga1fb93f287c45fb13b8ea2e49a3345a6d}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_iterator\_new@{eina\_inarray\_iterator\_new}}
\index{eina\_inarray\_iterator\_new@{eina\_inarray\_iterator\_new}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_iterator\_new()}{eina\_inarray\_iterator\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator}} $\ast$ eina\+\_\+inarray\+\_\+iterator\+\_\+new (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array }\end{DoxyParamCaption})}



Returns a new iterator associated to an array. 

This function returns a newly allocated iterator associated to {\ttfamily array}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A new iterator
\end{DoxyReturn}
\begin{DoxyNote}{Note}
If the memory cannot be allocated, {\ttfamily NULL} is returned. Otherwise, a valid iterator is returned.
\end{DoxyNote}
\begin{DoxyWarning}{Warning}
If the array structure changes then the iterator becomes invalid. That is, if you add or remove members this iterator\textquotesingle{}s behavior is undefined and your program may crash.
\end{DoxyWarning}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Magic__Group_ga470f5ce28eaaf59ce80523be8471c5e0}{EINA\+\_\+\+MAGIC\+\_\+\+SET}}, \mbox{\hyperlink{group__Eina__Iterator__Group_gad1ea4d3a7e58b47b23073a58e869d167}{FUNC\+\_\+\+ITERATOR\+\_\+\+FREE}}, \mbox{\hyperlink{group__Eina__Iterator__Group_gab41f5a30f0a2030f4a832548d18332db}{FUNC\+\_\+\+ITERATOR\+\_\+\+GET\+\_\+\+CONTAINER}}, \mbox{\hyperlink{group__Eina__Iterator__Group_gaec80e80b2867e391b0b27f5f20c3a5b3}{FUNC\+\_\+\+ITERATOR\+\_\+\+NEXT}}, and \mbox{\hyperlink{struct__Eina__Inarray_a2173b6a2133b3b1f5a2614e21c7fbdd2}{\+\_\+\+Eina\+\_\+\+Inarray\+::version}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_gaa5d86a7909649f993674dbabe38d3bbe}\label{group__Eina__Inline__Array__Group_gaa5d86a7909649f993674dbabe38d3bbe}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_iterator\_reversed\_new@{eina\_inarray\_iterator\_reversed\_new}}
\index{eina\_inarray\_iterator\_reversed\_new@{eina\_inarray\_iterator\_reversed\_new}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_iterator\_reversed\_new()}{eina\_inarray\_iterator\_reversed\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator}} $\ast$ eina\+\_\+inarray\+\_\+iterator\+\_\+reversed\+\_\+new (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array }\end{DoxyParamCaption})}



Returns a new reversed iterator associated to an array. 

This function returns a newly allocated iterator associated to {\ttfamily array}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A new iterator
\end{DoxyReturn}
\begin{DoxyNote}{Note}
Unlike \mbox{\hyperlink{group__Eina__Inline__Array__Group_ga1fb93f287c45fb13b8ea2e49a3345a6d}{eina\+\_\+inarray\+\_\+iterator\+\_\+new()}}, this walks through the array backwards.

If the memory cannot be allocated, {\ttfamily NULL} is returned. Otherwise, a valid iterator is returned.
\end{DoxyNote}
\begin{DoxyWarning}{Warning}
If the array structure changes then the iterator becomes invalid. That is, if you add or remove nodes this iterator\textquotesingle{}s behavior is undefined and your program may crash.
\end{DoxyWarning}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Magic__Group_ga470f5ce28eaaf59ce80523be8471c5e0}{EINA\+\_\+\+MAGIC\+\_\+\+SET}}, \mbox{\hyperlink{group__Eina__Iterator__Group_gad1ea4d3a7e58b47b23073a58e869d167}{FUNC\+\_\+\+ITERATOR\+\_\+\+FREE}}, \mbox{\hyperlink{group__Eina__Iterator__Group_gab41f5a30f0a2030f4a832548d18332db}{FUNC\+\_\+\+ITERATOR\+\_\+\+GET\+\_\+\+CONTAINER}}, \mbox{\hyperlink{group__Eina__Iterator__Group_gaec80e80b2867e391b0b27f5f20c3a5b3}{FUNC\+\_\+\+ITERATOR\+\_\+\+NEXT}}, and \mbox{\hyperlink{struct__Eina__Inarray_adccb478f564a34c544db22bdf6c0ad61}{\+\_\+\+Eina\+\_\+\+Inarray\+::len}}.

\mbox{\Hypertarget{group__Eina__Inline__Array__Group_gaa5fc4e6b315498bbef69b68cbb45d710}\label{group__Eina__Inline__Array__Group_gaa5fc4e6b315498bbef69b68cbb45d710}} 
\index{Inline Array@{Inline Array}!eina\_inarray\_accessor\_new@{eina\_inarray\_accessor\_new}}
\index{eina\_inarray\_accessor\_new@{eina\_inarray\_accessor\_new}!Inline Array@{Inline Array}}
\doxysubsubsection{\texorpdfstring{eina\_inarray\_accessor\_new()}{eina\_inarray\_accessor\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Accessor__Group_ga65199ea5201a1867471028477dc26744}{Eina\+\_\+\+Accessor}} $\ast$ eina\+\_\+inarray\+\_\+accessor\+\_\+new (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Inline__Array__Group_gac464b15f0b1389d944cd93a595ba4d50}{Eina\+\_\+\+Inarray}} $\ast$}]{array }\end{DoxyParamCaption})}



Returns a new accessor associated to an array. 

This function returns a newly allocated accessor associated to {\ttfamily array}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em array} & The array object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A new accessor
\end{DoxyReturn}
\begin{DoxyNote}{Note}
If the memory cannot be allocated, {\ttfamily NULL} is returned Otherwise, a valid accessor is returned.
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Magic__Group_ga470f5ce28eaaf59ce80523be8471c5e0}{EINA\+\_\+\+MAGIC\+\_\+\+SET}}, \mbox{\hyperlink{group__Eina__Accessor__Group_gacbe51b5e7bbd77448af4b0a6b48be101}{FUNC\+\_\+\+ACCESSOR\+\_\+\+FREE}}, \mbox{\hyperlink{group__Eina__Accessor__Group_ga279a8d8204d00590a2f5529e4359bfe3}{FUNC\+\_\+\+ACCESSOR\+\_\+\+GET\+\_\+\+AT}}, \mbox{\hyperlink{group__Eina__Accessor__Group_gae86a7a10bfdf27781fd930ea1ad0f69b}{FUNC\+\_\+\+ACCESSOR\+\_\+\+GET\+\_\+\+CONTAINER}}, and \mbox{\hyperlink{struct__Eina__Inarray_a2173b6a2133b3b1f5a2614e21c7fbdd2}{\+\_\+\+Eina\+\_\+\+Inarray\+::version}}.

