\hypertarget{struct__Eina__Value__Struct__Operations}{}\section{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations Struct Reference}
\label{struct__Eina__Value__Struct__Operations}\index{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations@{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}}


How to manage struct.  


\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{struct__Eina__Value__Struct__Operations_aefe27af00e13cd2e436b13df219c17a1}\label{struct__Eina__Value__Struct__Operations_aefe27af00e13cd2e436b13df219c17a1}} 
unsigned int \mbox{\hyperlink{struct__Eina__Value__Struct__Operations_aefe27af00e13cd2e436b13df219c17a1}{version}}
\begin{DoxyCompactList}\small\item\em must be \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga616b4187aec4502fee885dda6ec5e245}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+O\+P\+E\+R\+A\+T\+I\+O\+N\+S\+\_\+\+V\+E\+R\+S\+I\+ON}} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{struct__Eina__Value__Struct__Operations_a3236c9db6d91fbddba249462ce416cc6}\label{struct__Eina__Value__Struct__Operations_a3236c9db6d91fbddba249462ce416cc6}} 
void $\ast$($\ast$ \mbox{\hyperlink{struct__Eina__Value__Struct__Operations_a3236c9db6d91fbddba249462ce416cc6}{alloc}} )(const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} $\ast$ops, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} $\ast$desc)
\begin{DoxyCompactList}\small\item\em How to allocate struct memory to be managed by the Eina\+\_\+\+Value. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{struct__Eina__Value__Struct__Operations_ab20ab945cf83ecda4f6c4ea2a75bf8d2}\label{struct__Eina__Value__Struct__Operations_ab20ab945cf83ecda4f6c4ea2a75bf8d2}} 
void($\ast$ \mbox{\hyperlink{struct__Eina__Value__Struct__Operations_ab20ab945cf83ecda4f6c4ea2a75bf8d2}{free}} )(const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} $\ast$ops, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} $\ast$desc, void $\ast$memory)
\begin{DoxyCompactList}\small\item\em How to release memory managed by the Eina\+\_\+\+Value. \end{DoxyCompactList}\item 
void $\ast$($\ast$ \mbox{\hyperlink{struct__Eina__Value__Struct__Operations_a7a6856c11c4fee83c6fb8d486e396a8b}{copy}} )(const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} $\ast$ops, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} $\ast$desc, const void $\ast$memory)
\begin{DoxyCompactList}\small\item\em How to copy struct memory from an existing Eina\+\_\+\+Value, if not provided \mbox{\hyperlink{struct__Eina__Value__Struct__Operations_a3236c9db6d91fbddba249462ce416cc6}{alloc()}} will be used, then every member is copied using \mbox{\hyperlink{group__Eina__Value__Type__Group_ga113ba54df56b4d7f6b5dad71ec5bb66b}{eina\+\_\+value\+\_\+type\+\_\+copy()}} with member\textquotesingle{}s type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{struct__Eina__Value__Struct__Operations_a66ed88f3616d156b7561a95a50fff62f}\label{struct__Eina__Value__Struct__Operations_a66ed88f3616d156b7561a95a50fff62f}} 
int($\ast$ \mbox{\hyperlink{struct__Eina__Value__Struct__Operations_a66ed88f3616d156b7561a95a50fff62f}{compare}} )(const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} $\ast$ops, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} $\ast$desc, const void $\ast$data1, const void $\ast$data2)
\begin{DoxyCompactList}\small\item\em How to compare two struct memories. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gacb552beb97aae27635d91372d4a43fd2}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member}} $\ast$($\ast$ \mbox{\hyperlink{struct__Eina__Value__Struct__Operations_a948aaf889ab67f37f4957aca002f6a33}{find\+\_\+member}} )(const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} $\ast$ops, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} $\ast$desc, const char $\ast$name)
\begin{DoxyCompactList}\small\item\em How to find description for member. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
How to manage struct. 

Any {\ttfamily N\+U\+LL} callback is ignored.

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


\subsection{Field Documentation}
\mbox{\Hypertarget{struct__Eina__Value__Struct__Operations_a7a6856c11c4fee83c6fb8d486e396a8b}\label{struct__Eina__Value__Struct__Operations_a7a6856c11c4fee83c6fb8d486e396a8b}} 
\index{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations@{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}!copy@{copy}}
\index{copy@{copy}!\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations@{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}}
\subsubsection{\texorpdfstring{copy}{copy}}
{\footnotesize\ttfamily void$\ast$($\ast$ \+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations\+::copy) (const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} $\ast$ops, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} $\ast$desc, const void $\ast$memory)}



How to copy struct memory from an existing Eina\+\_\+\+Value, if not provided \mbox{\hyperlink{struct__Eina__Value__Struct__Operations_a3236c9db6d91fbddba249462ce416cc6}{alloc()}} will be used, then every member is copied using \mbox{\hyperlink{group__Eina__Value__Type__Group_ga113ba54df56b4d7f6b5dad71ec5bb66b}{eina\+\_\+value\+\_\+type\+\_\+copy()}} with member\textquotesingle{}s type. 

\mbox{\Hypertarget{struct__Eina__Value__Struct__Operations_a948aaf889ab67f37f4957aca002f6a33}\label{struct__Eina__Value__Struct__Operations_a948aaf889ab67f37f4957aca002f6a33}} 
\index{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations@{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}!find\+\_\+member@{find\+\_\+member}}
\index{find\+\_\+member@{find\+\_\+member}!\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations@{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}}
\subsubsection{\texorpdfstring{find\+\_\+member}{find\_member}}
{\footnotesize\ttfamily const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gacb552beb97aae27635d91372d4a43fd2}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member}}$\ast$($\ast$ \+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations\+::find\+\_\+member) (const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} $\ast$ops, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} $\ast$desc, const char $\ast$name)}



How to find description for member. 

For huge structures consider using binary search, stringshared, hash or gperf. The default function does linear search using strcmp(). 