\doxysection{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations Struct Reference}
\hypertarget{struct__Eina__Value__Struct__Operations}{}\label{struct__Eina__Value__Struct__Operations}\index{\_Eina\_Value\_Struct\_Operations@{\_Eina\_Value\_Struct\_Operations}}


How to manage struct.  




{\ttfamily \#include $<$eina\+\_\+value.\+h$>$}

\doxysubsubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{struct__Eina__Value__Struct__Operations_aefe27af00e13cd2e436b13df219c17a1}\label{struct__Eina__Value__Struct__Operations_aefe27af00e13cd2e436b13df219c17a1} 
unsigned int {\bfseries version}
\begin{DoxyCompactList}\small\item\em must be \doxylink{group__Eina__Value__Struct__Group_ga616b4187aec4502fee885dda6ec5e245}{EINA\+\_\+\+VALUE\+\_\+\+STRUCT\+\_\+\+OPERATIONS\+\_\+\+VERSION} \end{DoxyCompactList}\item 
\Hypertarget{struct__Eina__Value__Struct__Operations_ac5149a7231637cf4782815f42c865211}\label{struct__Eina__Value__Struct__Operations_ac5149a7231637cf4782815f42c865211} 
void \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} {\bfseries alloc} )(const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} \texorpdfstring{$\ast$}{*}ops, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} \texorpdfstring{$\ast$}{*}desc)
\begin{DoxyCompactList}\small\item\em How to allocate struct memory to be managed by the Eina\+\_\+\+Value. \end{DoxyCompactList}\item 
\Hypertarget{struct__Eina__Value__Struct__Operations_ab20ab945cf83ecda4f6c4ea2a75bf8d2}\label{struct__Eina__Value__Struct__Operations_ab20ab945cf83ecda4f6c4ea2a75bf8d2} 
void(\texorpdfstring{$\ast$}{*} {\bfseries free} )(const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} \texorpdfstring{$\ast$}{*}ops, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} \texorpdfstring{$\ast$}{*}desc, void \texorpdfstring{$\ast$}{*}memory)
\begin{DoxyCompactList}\small\item\em How to release memory managed by the Eina\+\_\+\+Value. \end{DoxyCompactList}\item 
\Hypertarget{struct__Eina__Value__Struct__Operations_ae4664c4e6ccd296115a7b90163d892eb}\label{struct__Eina__Value__Struct__Operations_ae4664c4e6ccd296115a7b90163d892eb} 
void \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} {\bfseries copy} )(const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} \texorpdfstring{$\ast$}{*}ops, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} \texorpdfstring{$\ast$}{*}desc, const void \texorpdfstring{$\ast$}{*}memory)
\begin{DoxyCompactList}\small\item\em How to copy struct memory from an existing Eina\+\_\+\+Value, if not provided \doxylink{struct__Eina__Value__Struct__Operations_ac5149a7231637cf4782815f42c865211}{alloc()} will be used, then every member is copied using eina\+\_\+value\+\_\+type\+\_\+copy() with member\textquotesingle{}s type. \end{DoxyCompactList}\item 
\Hypertarget{struct__Eina__Value__Struct__Operations_a66ed88f3616d156b7561a95a50fff62f}\label{struct__Eina__Value__Struct__Operations_a66ed88f3616d156b7561a95a50fff62f} 
int(\texorpdfstring{$\ast$}{*} {\bfseries compare} )(const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} \texorpdfstring{$\ast$}{*}ops, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} \texorpdfstring{$\ast$}{*}desc, const void \texorpdfstring{$\ast$}{*}data1, const void \texorpdfstring{$\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}} \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{struct__Eina__Value__Struct__Operations_adfe0bbcbd37103779d64818c88e23d59}{find\+\_\+member}} )(const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} \texorpdfstring{$\ast$}{*}ops, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} \texorpdfstring{$\ast$}{*}desc, const char \texorpdfstring{$\ast$}{*}name)
\begin{DoxyCompactList}\small\item\em How to find description for member. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
How to manage struct. 

Any {\ttfamily NULL} callback is ignored.

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


\doxysubsection{Field Documentation}
\Hypertarget{struct__Eina__Value__Struct__Operations_adfe0bbcbd37103779d64818c88e23d59}\label{struct__Eina__Value__Struct__Operations_adfe0bbcbd37103779d64818c88e23d59} 
\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}}
\doxysubsubsection{\texorpdfstring{find\_member}{find\_member}}
{\footnotesize\ttfamily const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gacb552beb97aae27635d91372d4a43fd2}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member}} \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} \+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations\+::find\+\_\+member) (const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} \texorpdfstring{$\ast$}{*}ops, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} \texorpdfstring{$\ast$}{*}desc, const char \texorpdfstring{$\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(). 