\hypertarget{group__Eina__Cxx__Containers__Group}{\section{Containers}
\label{group__Eina__Cxx__Containers__Group}\index{Containers@{Containers}}
}
\subsection*{Modules}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Eina__Cxx__Clone__Allocators__Group}{Clone Allocators}
\begin{DoxyCompactList}\small\item\em 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. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Cxx__Inline__Array__Group}{Inline Array}
\begin{DoxyCompactList}\small\item\em Inline array is a container that stores the data itself not pointers to data, this means there is no memory fragmentation, also for small data types(such as char, short, int, etc.) it's more memory efficient. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Cxx__Inline__List__Group}{Inline List}
\item 
\hyperlink{group__Eina__Cxx__Pointer__Array__Group}{Array of Pointers}
\item 
\hyperlink{group__Eina__Cxx__Pointer__List__Group}{List of Pointers}
\end{DoxyCompactItemize}
\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 $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__inarray__access__traits}{efl\+::eina\+::\+\_\+inarray\+\_\+access\+\_\+traits}
\item 
struct \hyperlink{structefl_1_1eina_1_1__inarray__access__traits_1_1const__iterator}{efl\+::eina\+::\+\_\+inarray\+\_\+access\+\_\+traits\+::const\+\_\+iterator$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__inarray__access__traits_1_1iterator}{efl\+::eina\+::\+\_\+inarray\+\_\+access\+\_\+traits\+::iterator$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__inarray__access__traits_1_1const__native__handle}{efl\+::eina\+::\+\_\+inarray\+\_\+access\+\_\+traits\+::const\+\_\+native\+\_\+handle$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__inarray__access__traits_1_1native__handle}{efl\+::eina\+::\+\_\+inarray\+\_\+access\+\_\+traits\+::native\+\_\+handle$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1range__inarray}{efl\+::eina\+::range\+\_\+inarray$<$ T $>$}
\begin{DoxyCompactList}\small\item\em Range class for \hyperlink{singletonefl_1_1eina_1_1inarray}{inarray}. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1__inarray__common__base}{efl\+::eina\+::\+\_\+inarray\+\_\+common\+\_\+base}
\begin{DoxyCompactList}\small\item\em Common inarray interface for every value type. \end{DoxyCompactList}\item 
class \hyperlink{classefl_1_1eina_1_1__pod__inarray}{efl\+::eina\+::\+\_\+pod\+\_\+inarray$<$ T $>$}
\begin{DoxyCompactList}\small\item\em Optimized specialization of the base inline array for P\+O\+D types. \end{DoxyCompactList}\item 
class \hyperlink{classefl_1_1eina_1_1__nonpod__inarray}{efl\+::eina\+::\+\_\+nonpod\+\_\+inarray$<$ T $>$}
\item 
class \hyperlink{singletonefl_1_1eina_1_1inarray}{efl\+::eina\+::inarray$<$ T $>$}
\begin{DoxyCompactList}\small\item\em Inline array class. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1__inlist__node}{efl\+::eina\+::\+\_\+inlist\+\_\+node$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__inlist__iterator}{efl\+::eina\+::\+\_\+inlist\+\_\+iterator$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__inlist__access__traits}{efl\+::eina\+::\+\_\+inlist\+\_\+access\+\_\+traits}
\item 
struct \hyperlink{structefl_1_1eina_1_1range__inlist}{efl\+::eina\+::range\+\_\+inlist$<$ T $>$}
\begin{DoxyCompactList}\small\item\em Range for inline list elements. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1__inlist__common__base}{efl\+::eina\+::\+\_\+inlist\+\_\+common\+\_\+base$<$ T, Allocator $>$}
\begin{DoxyCompactList}\small\item\em Common implementations for inline list. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1__inlist__common__base_1_1__inlist__impl}{efl\+::eina\+::\+\_\+inlist\+\_\+common\+\_\+base$<$ T, Allocator $>$\+::\+\_\+inlist\+\_\+impl}
\item 
class \hyperlink{singletonefl_1_1eina_1_1inlist}{efl\+::eina\+::inlist$<$ T, Allocator $>$}
\begin{DoxyCompactList}\small\item\em C++ wrapper for the native Eina inline list. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1__ptr__array__iterator}{efl\+::eina\+::\+\_\+ptr\+\_\+array\+\_\+iterator$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__ptr__array__access__traits}{efl\+::eina\+::\+\_\+ptr\+\_\+array\+\_\+access\+\_\+traits}
\item 
struct \hyperlink{structefl_1_1eina_1_1range__ptr__array}{efl\+::eina\+::range\+\_\+ptr\+\_\+array$<$ T $>$}
\begin{DoxyCompactList}\small\item\em Range for \hyperlink{singletonefl_1_1eina_1_1ptr__array}{ptr\+\_\+array}. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1__ptr__array__common__base}{efl\+::eina\+::\+\_\+ptr\+\_\+array\+\_\+common\+\_\+base$<$ T, Clone\+Allocator $>$}
\begin{DoxyCompactList}\small\item\em Common implementations for the \hyperlink{singletonefl_1_1eina_1_1ptr__array}{ptr\+\_\+array}. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1__ptr__array__common__base_1_1__ptr__array__impl}{efl\+::eina\+::\+\_\+ptr\+\_\+array\+\_\+common\+\_\+base$<$ T, Clone\+Allocator $>$\+::\+\_\+ptr\+\_\+array\+\_\+impl}
\item 
class \hyperlink{singletonefl_1_1eina_1_1ptr__array}{efl\+::eina\+::ptr\+\_\+array$<$ T, Clone\+Allocator $>$}
\begin{DoxyCompactList}\small\item\em Array class. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1__ptr__list__iterator__base}{efl\+::eina\+::\+\_\+ptr\+\_\+list\+\_\+iterator\+\_\+base}
\item 
struct \hyperlink{structefl_1_1eina_1_1__ptr__list__iterator}{efl\+::eina\+::\+\_\+ptr\+\_\+list\+\_\+iterator$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__ptr__list__access__traits}{efl\+::eina\+::\+\_\+ptr\+\_\+list\+\_\+access\+\_\+traits}
\item 
struct \hyperlink{structefl_1_1eina_1_1range__ptr__list}{efl\+::eina\+::range\+\_\+ptr\+\_\+list$<$ T $>$}
\begin{DoxyCompactList}\small\item\em Range class for \hyperlink{singletonefl_1_1eina_1_1ptr__list}{ptr\+\_\+list}. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1__ptr__list__common__base}{efl\+::eina\+::\+\_\+ptr\+\_\+list\+\_\+common\+\_\+base$<$ T, Clone\+Allocator $>$}
\begin{DoxyCompactList}\small\item\em Common implementations for {\ttfamily \hyperlink{singletonefl_1_1eina_1_1ptr__list}{ptr\+\_\+list}}. \end{DoxyCompactList}\item 
struct \hyperlink{structefl_1_1eina_1_1__ptr__list__common__base_1_1__ptr__list__impl}{efl\+::eina\+::\+\_\+ptr\+\_\+list\+\_\+common\+\_\+base$<$ T, Clone\+Allocator $>$\+::\+\_\+ptr\+\_\+list\+\_\+impl}
\item 
class \hyperlink{singletonefl_1_1eina_1_1ptr__list}{efl\+::eina\+::ptr\+\_\+list$<$ T, Clone\+Allocator $>$}
\begin{DoxyCompactList}\small\item\em List class. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
