\hypertarget{group__Eina__Cxx__Clone__Allocators__Group}{}\section{Clone Allocators}
\label{group__Eina__Cxx__Clone__Allocators__Group}\index{Clone Allocators@{Clone Allocators}}


Clone allocators is a formalized way to pointer containers control the memory of the stored objects, allowing users to apply custom allocators/deallocators for the cloned objects.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structefl_1_1eina_1_1heap__copy__allocator}{efl\+::eina\+::heap\+\_\+copy\+\_\+allocator}
\begin{DoxyCompactList}\small\item\em This allocator creates copies of objects on the heap, calling their copy constructor to make then equivalent to the given reference. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1eo__clone__allocator}{efl\+::eina\+::eo\+\_\+clone\+\_\+allocator}
\begin{DoxyCompactList}\small\item\em This allocator creates copies of Eo classes through eo\+\_\+ref. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1heap__clone__allocator}{efl\+::eina\+::heap\+\_\+clone\+\_\+allocator}
\begin{DoxyCompactList}\small\item\em This allocator allows users to create custom allocation schemes by overloading the {\ttfamily new\+\_\+clone(\+T const\& v)} and {\ttfamily delete\+\_\+clone(\+T$\ast$ p)} functions. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1view__clone__allocator}{efl\+::eina\+::view\+\_\+clone\+\_\+allocator}
\begin{DoxyCompactList}\small\item\em This allocator does not allocate or deallocate anything. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1heap__no__copy__allocator}{efl\+::eina\+::heap\+\_\+no\+\_\+copy\+\_\+allocator}
\begin{DoxyCompactList}\small\item\em This allocator does not define an {\ttfamily allocate\+\_\+clone} member function, so it should be used to disable operations that require elements to be cloned. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1malloc__clone__allocator}{efl\+::eina\+::malloc\+\_\+clone\+\_\+allocator}
\begin{DoxyCompactList}\small\item\em Manages allocation and deallocation of memory using the function {\ttfamily malloc} and {\ttfamily free}. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1clone__allocator__deleter}{efl\+::eina\+::clone\+\_\+allocator\+\_\+deleter$<$ A $>$}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Clone allocators is a formalized way to pointer containers control the memory of the stored objects, allowing users to apply custom allocators/deallocators for the cloned objects. 

