\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\textquotesingle{}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_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_1__inarray__access__traits}{efl\+::eina\+::\+\_\+inarray\+\_\+access\+\_\+traits}
\item 
struct \hyperlink{structefl_1_1eina_1_1range__inarray}{efl\+::eina\+::range\+\_\+inarray$<$ T $>$}
\begin{DoxyCompactList}\small\item\em Range class for \hyperlink{classefl_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{classefl_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_1_1const__iterator}{efl\+::eina\+::\+\_\+inlist\+\_\+access\+\_\+traits\+::const\+\_\+iterator$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__inlist__access__traits_1_1iterator}{efl\+::eina\+::\+\_\+inlist\+\_\+access\+\_\+traits\+::iterator$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__inlist__access__traits_1_1const__native__handle}{efl\+::eina\+::\+\_\+inlist\+\_\+access\+\_\+traits\+::const\+\_\+native\+\_\+handle$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__inlist__access__traits_1_1native__handle}{efl\+::eina\+::\+\_\+inlist\+\_\+access\+\_\+traits\+::native\+\_\+handle$<$ 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_1_1__inlist__impl}{efl\+::eina\+::\+\_\+inlist\+\_\+common\+\_\+base$<$ T, Allocator $>$\+::\+\_\+inlist\+\_\+impl}
\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 
class \hyperlink{classefl_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_1_1iterator}{efl\+::eina\+::\+\_\+ptr\+\_\+array\+\_\+access\+\_\+traits\+::iterator$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__ptr__array__access__traits_1_1const__iterator}{efl\+::eina\+::\+\_\+ptr\+\_\+array\+\_\+access\+\_\+traits\+::const\+\_\+iterator$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__ptr__array__access__traits_1_1native__handle}{efl\+::eina\+::\+\_\+ptr\+\_\+array\+\_\+access\+\_\+traits\+::native\+\_\+handle$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__ptr__array__access__traits_1_1const__native__handle}{efl\+::eina\+::\+\_\+ptr\+\_\+array\+\_\+access\+\_\+traits\+::const\+\_\+native\+\_\+handle$<$ 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{classefl_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 
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{classefl_1_1eina_1_1ptr__array}{ptr\+\_\+array}. \end{DoxyCompactList}\item 
class \hyperlink{classefl_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_1_1iterator}{efl\+::eina\+::\+\_\+ptr\+\_\+list\+\_\+access\+\_\+traits\+::iterator$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__ptr__list__access__traits_1_1native__handle}{efl\+::eina\+::\+\_\+ptr\+\_\+list\+\_\+access\+\_\+traits\+::native\+\_\+handle$<$ T $>$}
\item 
struct \hyperlink{structefl_1_1eina_1_1__ptr__list__access__traits_1_1const__native__handle}{efl\+::eina\+::\+\_\+ptr\+\_\+list\+\_\+access\+\_\+traits\+::const\+\_\+native\+\_\+handle$<$ 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{classefl_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 
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{classefl_1_1eina_1_1ptr__list}{ptr\+\_\+list}}. \end{DoxyCompactList}\item 
class \hyperlink{classefl_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}
