\hypertarget{struct__Eina__Mempool__Backend}{}\doxysection{\+\_\+\+Eina\+\_\+\+Mempool\+\_\+\+Backend Struct Reference}
\label{struct__Eina__Mempool__Backend}\index{\_Eina\_Mempool\_Backend@{\_Eina\_Mempool\_Backend}}
\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{struct__Eina__Mempool__Backend_a03fbd81b9a7ec3896a7d1afe3e0266ca}\label{struct__Eina__Mempool__Backend_a03fbd81b9a7ec3896a7d1afe3e0266ca}} 
const char $\ast$ {\bfseries name}
\begin{DoxyCompactList}\small\item\em Name of the mempool backend. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{struct__Eina__Mempool__Backend_a7e841972f34c97204da0a8a0cac978db}\label{struct__Eina__Mempool__Backend_a7e841972f34c97204da0a8a0cac978db}} 
void $\ast$($\ast$ {\bfseries init} )(const char $\ast$context, const char $\ast$options, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Function to initialize the backend. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{struct__Eina__Mempool__Backend_a7293e0818d2d75a22d7d9f85601331db}\label{struct__Eina__Mempool__Backend_a7293e0818d2d75a22d7d9f85601331db}} 
void($\ast$ {\bfseries free} )(void $\ast$data, void $\ast$element)
\begin{DoxyCompactList}\small\item\em Function to free memory back to the mempool. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{struct__Eina__Mempool__Backend_ac5239b9626078c7e358763a34606ce17}\label{struct__Eina__Mempool__Backend_ac5239b9626078c7e358763a34606ce17}} 
void $\ast$($\ast$ {\bfseries alloc} )(void $\ast$data, unsigned int size)
\begin{DoxyCompactList}\small\item\em Function to allocate memory from the mempool. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{struct__Eina__Mempool__Backend_a22e5dc7706535b730cea32710ab70665}\label{struct__Eina__Mempool__Backend_a22e5dc7706535b730cea32710ab70665}} 
void $\ast$($\ast$ {\bfseries realloc} )(void $\ast$data, void $\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 
\mbox{\Hypertarget{struct__Eina__Mempool__Backend_a1de514a4e756e7224ac9a7483d3953fb}\label{struct__Eina__Mempool__Backend_a1de514a4e756e7224ac9a7483d3953fb}} 
void($\ast$ {\bfseries garbage\+\_\+collect} )(void $\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 
\mbox{\Hypertarget{struct__Eina__Mempool__Backend_a75a447f19e5bb6d481ac9cb1ba95a05a}\label{struct__Eina__Mempool__Backend_a75a447f19e5bb6d481ac9cb1ba95a05a}} 
void($\ast$ {\bfseries statistics} )(void $\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 
\mbox{\Hypertarget{struct__Eina__Mempool__Backend_ac4ee6e80ebc532c59faa9f20283fee6e}\label{struct__Eina__Mempool__Backend_ac4ee6e80ebc532c59faa9f20283fee6e}} 
void($\ast$ {\bfseries shutdown} )(void $\ast$data)
\begin{DoxyCompactList}\small\item\em Function to destroy the backend, freeing memory back to the operating system. \end{DoxyCompactList}\item 
void($\ast$ \mbox{\hyperlink{struct__Eina__Mempool__Backend_a316fd3f2453d7693d819ca9dd754fa9a}{repack}} )(void $\ast$data, \mbox{\hyperlink{group__Eina__Memory__Pool__Group_ga36987f282791adfc0d82c493af4462dc}{Eina\+\_\+\+Mempool\+\_\+\+Repack\+\_\+\+Cb}} cb, void $\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}}($\ast$ \mbox{\hyperlink{struct__Eina__Mempool__Backend_aa26b4a30157adb8f0dc09827588a5ed6}{from}} )(void $\ast$data, void $\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}} $\ast$($\ast$ \mbox{\hyperlink{struct__Eina__Mempool__Backend_ac52621908475f65b8a6314c7388fe48f}{iterator}} )(void $\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 $\ast$($\ast$ \mbox{\hyperlink{struct__Eina__Mempool__Backend_ae7c76555711804284c388a1ade7903e9}{alloc\+\_\+near}} )(void $\ast$data, void $\ast$after, void $\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}
\mbox{\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($\ast$ \+\_\+\+Eina\+\_\+\+Mempool\+\_\+\+Backend\+::repack) (void $\ast$data, \mbox{\hyperlink{group__Eina__Memory__Pool__Group_ga36987f282791adfc0d82c493af4462dc}{Eina\+\_\+\+Mempool\+\_\+\+Repack\+\_\+\+Cb}} cb, void $\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}
\mbox{\hyperlink{group__Eina__Memory__Pool__Group_ga36987f282791adfc0d82c493af4462dc}{Eina\+\_\+\+Mempool\+\_\+\+Repack\+\_\+\+Cb}} 
\end{DoxySeeAlso}
\mbox{\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}}($\ast$ \+\_\+\+Eina\+\_\+\+Mempool\+\_\+\+Backend\+::from) (void $\ast$data, void $\ast$element)}



Function to check is a valid element from a mempool. 

\begin{DoxySeeAlso}{See also}
eina\+\_\+mempool\+\_\+from 
\end{DoxySeeAlso}
\mbox{\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}} $\ast$($\ast$ \+\_\+\+Eina\+\_\+\+Mempool\+\_\+\+Backend\+::iterator) (void $\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}
\mbox{\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 $\ast$($\ast$ \+\_\+\+Eina\+\_\+\+Mempool\+\_\+\+Backend\+::alloc\+\_\+near) (void $\ast$data, void $\ast$after, void $\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}
