\doxysection{\+\_\+\+Eina\+\_\+\+Mempool\+\_\+\+Backend Struct Reference}
\hypertarget{struct__Eina__Mempool__Backend}{}\label{struct__Eina__Mempool__Backend}\index{\_Eina\_Mempool\_Backend@{\_Eina\_Mempool\_Backend}}
\doxysubsubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{struct__Eina__Mempool__Backend_a03fbd81b9a7ec3896a7d1afe3e0266ca}\label{struct__Eina__Mempool__Backend_a03fbd81b9a7ec3896a7d1afe3e0266ca} 
const char \texorpdfstring{$\ast$}{*} {\bfseries name}
\begin{DoxyCompactList}\small\item\em Name of the mempool backend. \end{DoxyCompactList}\item 
\Hypertarget{struct__Eina__Mempool__Backend_a7e841972f34c97204da0a8a0cac978db}\label{struct__Eina__Mempool__Backend_a7e841972f34c97204da0a8a0cac978db} 
void \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} {\bfseries init} )(const char \texorpdfstring{$\ast$}{*}context, const char \texorpdfstring{$\ast$}{*}options, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Function to initialize the backend. \end{DoxyCompactList}\item 
\Hypertarget{struct__Eina__Mempool__Backend_a7293e0818d2d75a22d7d9f85601331db}\label{struct__Eina__Mempool__Backend_a7293e0818d2d75a22d7d9f85601331db} 
void(\texorpdfstring{$\ast$}{*} {\bfseries free} )(void \texorpdfstring{$\ast$}{*}data, void \texorpdfstring{$\ast$}{*}element)
\begin{DoxyCompactList}\small\item\em Function to free memory back to the mempool. \end{DoxyCompactList}\item 
\Hypertarget{struct__Eina__Mempool__Backend_ac5239b9626078c7e358763a34606ce17}\label{struct__Eina__Mempool__Backend_ac5239b9626078c7e358763a34606ce17} 
void \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} {\bfseries alloc} )(void \texorpdfstring{$\ast$}{*}data, unsigned int size)
\begin{DoxyCompactList}\small\item\em Function to allocate memory from the mempool. \end{DoxyCompactList}\item 
\Hypertarget{struct__Eina__Mempool__Backend_a22e5dc7706535b730cea32710ab70665}\label{struct__Eina__Mempool__Backend_a22e5dc7706535b730cea32710ab70665} 
void \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} {\bfseries realloc} )(void \texorpdfstring{$\ast$}{*}data, void \texorpdfstring{$\ast$}{*}element, unsigned int size)
\begin{DoxyCompactList}\small\item\em Function to change the size of a block of memory that is currently allocated. \end{DoxyCompactList}\item 
\Hypertarget{struct__Eina__Mempool__Backend_a1de514a4e756e7224ac9a7483d3953fb}\label{struct__Eina__Mempool__Backend_a1de514a4e756e7224ac9a7483d3953fb} 
void(\texorpdfstring{$\ast$}{*} {\bfseries garbage\+\_\+collect} )(void \texorpdfstring{$\ast$}{*}data)
\begin{DoxyCompactList}\small\item\em Function to trigger a garbage collection; can be NULL if the feature isn\textquotesingle{}t available in the backend. \end{DoxyCompactList}\item 
\Hypertarget{struct__Eina__Mempool__Backend_a75a447f19e5bb6d481ac9cb1ba95a05a}\label{struct__Eina__Mempool__Backend_a75a447f19e5bb6d481ac9cb1ba95a05a} 
void(\texorpdfstring{$\ast$}{*} {\bfseries statistics} )(void \texorpdfstring{$\ast$}{*}data)
\begin{DoxyCompactList}\small\item\em Report statistics on the content of the mempool; can be NULL if the feature isn\textquotesingle{}t available in the backend. \end{DoxyCompactList}\item 
\Hypertarget{struct__Eina__Mempool__Backend_ac4ee6e80ebc532c59faa9f20283fee6e}\label{struct__Eina__Mempool__Backend_ac4ee6e80ebc532c59faa9f20283fee6e} 
void(\texorpdfstring{$\ast$}{*} {\bfseries shutdown} )(void \texorpdfstring{$\ast$}{*}data)
\begin{DoxyCompactList}\small\item\em Function to destroy the backend, freeing memory back to the operating system. \end{DoxyCompactList}\item 
void(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{struct__Eina__Mempool__Backend_a316fd3f2453d7693d819ca9dd754fa9a}{repack}} )(void \texorpdfstring{$\ast$}{*}data, \mbox{\hyperlink{group__Eina__Memory__Pool__Group_ga36987f282791adfc0d82c493af4462dc}{Eina\+\_\+\+Mempool\+\_\+\+Repack\+\_\+\+Cb}} cb, void \texorpdfstring{$\ast$}{*}cb\+\_\+data)
\begin{DoxyCompactList}\small\item\em Function to optimize the placement of objects in the mempool (it\textquotesingle{}s different from garbage\+\_\+collect); can be NULL if the feature isn\textquotesingle{}t available in the backend. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{struct__Eina__Mempool__Backend_aa26b4a30157adb8f0dc09827588a5ed6}{from}} )(void \texorpdfstring{$\ast$}{*}data, void \texorpdfstring{$\ast$}{*}element)
\begin{DoxyCompactList}\small\item\em Function to check is a valid element from a mempool. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator}} \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{struct__Eina__Mempool__Backend_ac52621908475f65b8a6314c7388fe48f}{iterator}} )(void \texorpdfstring{$\ast$}{*}data)
\begin{DoxyCompactList}\small\item\em Function to get an Eina\+\_\+\+Iterator that will walk every allocated element in the pool. \end{DoxyCompactList}\item 
void \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{struct__Eina__Mempool__Backend_ae7c76555711804284c388a1ade7903e9}{alloc\+\_\+near}} )(void \texorpdfstring{$\ast$}{*}data, void \texorpdfstring{$\ast$}{*}after, void \texorpdfstring{$\ast$}{*}before, unsigned int size)
\begin{DoxyCompactList}\small\item\em Function to allocate memory near already allocated memory. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Field Documentation}
\Hypertarget{struct__Eina__Mempool__Backend_a316fd3f2453d7693d819ca9dd754fa9a}\label{struct__Eina__Mempool__Backend_a316fd3f2453d7693d819ca9dd754fa9a} 
\index{\_Eina\_Mempool\_Backend@{\_Eina\_Mempool\_Backend}!repack@{repack}}
\index{repack@{repack}!\_Eina\_Mempool\_Backend@{\_Eina\_Mempool\_Backend}}
\doxysubsubsection{\texorpdfstring{repack}{repack}}
{\footnotesize\ttfamily void(\texorpdfstring{$\ast$}{*} \+\_\+\+Eina\+\_\+\+Mempool\+\_\+\+Backend\+::repack) (void \texorpdfstring{$\ast$}{*}data, \mbox{\hyperlink{group__Eina__Memory__Pool__Group_ga36987f282791adfc0d82c493af4462dc}{Eina\+\_\+\+Mempool\+\_\+\+Repack\+\_\+\+Cb}} cb, void \texorpdfstring{$\ast$}{*}cb\+\_\+data)}



Function to optimize the placement of objects in the mempool (it\textquotesingle{}s different from garbage\+\_\+collect); can be NULL if the feature isn\textquotesingle{}t available in the backend. 

\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Memory__Pool__Group_ga36987f282791adfc0d82c493af4462dc}{Eina\+\_\+\+Mempool\+\_\+\+Repack\+\_\+\+Cb} 
\end{DoxySeeAlso}
\Hypertarget{struct__Eina__Mempool__Backend_aa26b4a30157adb8f0dc09827588a5ed6}\label{struct__Eina__Mempool__Backend_aa26b4a30157adb8f0dc09827588a5ed6} 
\index{\_Eina\_Mempool\_Backend@{\_Eina\_Mempool\_Backend}!from@{from}}
\index{from@{from}!\_Eina\_Mempool\_Backend@{\_Eina\_Mempool\_Backend}}
\doxysubsubsection{\texorpdfstring{from}{from}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}(\texorpdfstring{$\ast$}{*} \+\_\+\+Eina\+\_\+\+Mempool\+\_\+\+Backend\+::from) (void \texorpdfstring{$\ast$}{*}data, void \texorpdfstring{$\ast$}{*}element)}



Function to check is a valid element from a mempool. 

\begin{DoxySeeAlso}{See also}
eina\+\_\+mempool\+\_\+from 
\end{DoxySeeAlso}
\Hypertarget{struct__Eina__Mempool__Backend_ac52621908475f65b8a6314c7388fe48f}\label{struct__Eina__Mempool__Backend_ac52621908475f65b8a6314c7388fe48f} 
\index{\_Eina\_Mempool\_Backend@{\_Eina\_Mempool\_Backend}!iterator@{iterator}}
\index{iterator@{iterator}!\_Eina\_Mempool\_Backend@{\_Eina\_Mempool\_Backend}}
\doxysubsubsection{\texorpdfstring{iterator}{iterator}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator}} \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} \+\_\+\+Eina\+\_\+\+Mempool\+\_\+\+Backend\+::iterator) (void \texorpdfstring{$\ast$}{*}data)}



Function to get an Eina\+\_\+\+Iterator that will walk every allocated element in the pool. 

\begin{DoxySeeAlso}{See also}
eina\+\_\+mempool\+\_\+iterator\+\_\+new 
\end{DoxySeeAlso}
\Hypertarget{struct__Eina__Mempool__Backend_ae7c76555711804284c388a1ade7903e9}\label{struct__Eina__Mempool__Backend_ae7c76555711804284c388a1ade7903e9} 
\index{\_Eina\_Mempool\_Backend@{\_Eina\_Mempool\_Backend}!alloc\_near@{alloc\_near}}
\index{alloc\_near@{alloc\_near}!\_Eina\_Mempool\_Backend@{\_Eina\_Mempool\_Backend}}
\doxysubsubsection{\texorpdfstring{alloc\_near}{alloc\_near}}
{\footnotesize\ttfamily void \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} \+\_\+\+Eina\+\_\+\+Mempool\+\_\+\+Backend\+::alloc\+\_\+near) (void \texorpdfstring{$\ast$}{*}data, void \texorpdfstring{$\ast$}{*}after, void \texorpdfstring{$\ast$}{*}before, unsigned int size)}



Function to allocate memory near already allocated memory. 

\begin{DoxySince}{Since}
1.\+24 
\end{DoxySince}
\begin{DoxySeeAlso}{See also}
eina\+\_\+mempool\+\_\+malloc\+\_\+near 
\end{DoxySeeAlso}
