\hypertarget{struct__Eina__Value__Struct__Desc}{\section{\-\_\-\-Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Desc Struct Reference}
\label{struct__Eina__Value__Struct__Desc}\index{\-\_\-\-Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Desc@{\-\_\-\-Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Desc}}
}


Describes the struct by listing its size, members and operations.  


\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\hypertarget{struct__Eina__Value__Struct__Desc_a173b6014bf58d5f1dbbbe29db04396f0}{unsigned int \hyperlink{struct__Eina__Value__Struct__Desc_a173b6014bf58d5f1dbbbe29db04396f0}{version}}\label{struct__Eina__Value__Struct__Desc_a173b6014bf58d5f1dbbbe29db04396f0}

\begin{DoxyCompactList}\small\item\em must be \hyperlink{group__Eina__Value__Struct__Group_gae76aada4965672ce991f1f41baf71975}{E\-I\-N\-A\-\_\-\-V\-A\-L\-U\-E\-\_\-\-S\-T\-R\-U\-C\-T\-\_\-\-D\-E\-S\-C\-\_\-\-V\-E\-R\-S\-I\-O\-N} \end{DoxyCompactList}\item 
const \\*
\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Operations} $\ast$ \hyperlink{struct__Eina__Value__Struct__Desc_a6c18f97c686c08a9765c5ab1d6842192}{ops}
\begin{DoxyCompactList}\small\item\em operations, if {\ttfamily N\-U\-L\-L} defaults will be used. \end{DoxyCompactList}\item 
const \hyperlink{group__Eina__Value__Struct__Group_gacb552beb97aae27635d91372d4a43fd2}{Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Member} $\ast$ \hyperlink{struct__Eina__Value__Struct__Desc_a733e47f7719ed200b42cadce524873d5}{members}
\begin{DoxyCompactList}\small\item\em array of member descriptions, if {\ttfamily member\-\_\-count} is zero, then it must be {\ttfamily N\-U\-L\-L} terminated. \end{DoxyCompactList}\item 
unsigned int \hyperlink{struct__Eina__Value__Struct__Desc_a59cb417f60dafa7bae36ba5706769149}{member\-\_\-count}
\begin{DoxyCompactList}\small\item\em if $>$ 0, specifies number of members. \end{DoxyCompactList}\item 
\hypertarget{struct__Eina__Value__Struct__Desc_a76afd6890747f7d2da944878060efec0}{unsigned int \hyperlink{struct__Eina__Value__Struct__Desc_a76afd6890747f7d2da944878060efec0}{size}}\label{struct__Eina__Value__Struct__Desc_a76afd6890747f7d2da944878060efec0}

\begin{DoxyCompactList}\small\item\em byte size to allocate, may be bigger than sum of members \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Describes the struct by listing its size, members and operations. 

This is the root of Eina\-\_\-\-Value knowledge about the memory it's handling as a structure. It adds introspection, saying the byte size of the structure, its members and how to manage such members.

\begin{DoxySince}{Since}
1.\-2 
\end{DoxySince}
\begin{Desc}
\item[Examples\-: ]\par
\hyperlink{complex-types-client-eina-value_8c-example}{complex-\/types-\/client-\/eina-\/value.\-c}, and \hyperlink{eina_value_02_8c-example}{eina\-\_\-value\-\_\-02.\-c}.\end{Desc}


\subsection{Field Documentation}
\hypertarget{struct__Eina__Value__Struct__Desc_a6c18f97c686c08a9765c5ab1d6842192}{\index{\-\_\-\-Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Desc@{\-\_\-\-Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Desc}!ops@{ops}}
\index{ops@{ops}!_Eina_Value_Struct_Desc@{\-\_\-\-Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Desc}}
\subsubsection[{ops}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Operations}$\ast$ \-\_\-\-Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Desc\-::ops}}\label{struct__Eina__Value__Struct__Desc_a6c18f97c686c08a9765c5ab1d6842192}


operations, if {\ttfamily N\-U\-L\-L} defaults will be used. 

You may use operations to optimize member lookup using binary search or gperf hash. \hypertarget{struct__Eina__Value__Struct__Desc_a733e47f7719ed200b42cadce524873d5}{\index{\-\_\-\-Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Desc@{\-\_\-\-Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Desc}!members@{members}}
\index{members@{members}!_Eina_Value_Struct_Desc@{\-\_\-\-Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Desc}}
\subsubsection[{members}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Member}$\ast$ \-\_\-\-Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Desc\-::members}}\label{struct__Eina__Value__Struct__Desc_a733e47f7719ed200b42cadce524873d5}


array of member descriptions, if {\ttfamily member\-\_\-count} is zero, then it must be {\ttfamily N\-U\-L\-L} terminated. 

\hypertarget{struct__Eina__Value__Struct__Desc_a59cb417f60dafa7bae36ba5706769149}{\index{\-\_\-\-Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Desc@{\-\_\-\-Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Desc}!member\-\_\-count@{member\-\_\-count}}
\index{member\-\_\-count@{member\-\_\-count}!_Eina_Value_Struct_Desc@{\-\_\-\-Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Desc}}
\subsubsection[{member\-\_\-count}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int \-\_\-\-Eina\-\_\-\-Value\-\_\-\-Struct\-\_\-\-Desc\-::member\-\_\-count}}\label{struct__Eina__Value__Struct__Desc_a59cb417f60dafa7bae36ba5706769149}


if $>$ 0, specifies number of members. 

If zero then {\ttfamily members} must be N\-U\-L\-L terminated. 