\section{atlas::allocator::Allocator$<$ T, P $>$ Class Template Reference}
\label{classatlas_1_1allocator_1_1Allocator}\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}}
{\tt \#include $<$allocator.h$>$}

Collaboration diagram for atlas::allocator::Allocator$<$ T, P $>$:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=102pt]{classatlas_1_1allocator_1_1Allocator__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item 
typedef T {\bf value\_\-type}
\item 
typedef T $\ast$ {\bf pointer}
\item 
typedef const T $\ast$ {\bf const\_\-pointer}
\item 
typedef T \& {\bf reference}
\item 
typedef const T \& {\bf const\_\-reference}
\item 
typedef ptrdiff\_\-t {\bf difference\_\-type}
\item 
typedef size\_\-t {\bf size\_\-type}
\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf Allocator} ()  throw ()
\item 
{\bf Allocator} (const {\bf Allocator} \&)  throw ()
\item 
template$<$typename U$>$ {\bf Allocator} (const {\bf Allocator}$<$ U, P $>$ \&)  throw ()
\item 
{\bf $\sim$Allocator} ()
\item 
{\bf size\_\-type} {\bf max\_\-size} () const   throw ()
\item 
{\bf pointer} {\bf allocate} ({\bf size\_\-type}, const void $\ast$hint=0)
\item 
void {\bf deallocate} ({\bf pointer}, {\bf size\_\-type})
\item 
void {\bf construct} ({\bf pointer}, {\bf const\_\-reference})
\item 
void {\bf destroy} ({\bf pointer})
\end{CompactItemize}
\subsection*{Static Private Attributes}
\begin{CompactItemize}
\item 
static size\_\-t {\bf d\_\-instances} = 0
\item 
static size\_\-t {\bf d\_\-constructions} = 0
\item 
static P $\ast$ {\bf d\_\-pool} = 0
\end{CompactItemize}
\subsection*{Classes}
\begin{CompactItemize}
\item 
struct {\bf rebind}
\end{CompactItemize}
\subsubsection*{template$<$typename T, typename P$>$ class atlas::allocator::Allocator$<$ T, P $>$}



\subsection{Member Typedef Documentation}
\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!const_pointer@{const\_\-pointer}}
\index{const_pointer@{const\_\-pointer}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ typedef const T$\ast$ {\bf atlas::allocator::Allocator}$<$ T, P $>$::{\bf const\_\-pointer}}\label{classatlas_1_1allocator_1_1Allocator_0d78485385e515f7056c575abbec09a3}


\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!const_reference@{const\_\-reference}}
\index{const_reference@{const\_\-reference}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ typedef const T\& {\bf atlas::allocator::Allocator}$<$ T, P $>$::{\bf const\_\-reference}}\label{classatlas_1_1allocator_1_1Allocator_ee00d7082336a4e286cd10a26cd201ea}


\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!difference_type@{difference\_\-type}}
\index{difference_type@{difference\_\-type}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ typedef ptrdiff\_\-t {\bf atlas::allocator::Allocator}$<$ T, P $>$::{\bf difference\_\-type}}\label{classatlas_1_1allocator_1_1Allocator_9bec57d6b88eac9fb76efb6876b87c08}


\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!pointer@{pointer}}
\index{pointer@{pointer}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ typedef T$\ast$ {\bf atlas::allocator::Allocator}$<$ T, P $>$::{\bf pointer}}\label{classatlas_1_1allocator_1_1Allocator_26efa30eb24b51bc1272b0792b95ef9e}


\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!reference@{reference}}
\index{reference@{reference}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ typedef T\& {\bf atlas::allocator::Allocator}$<$ T, P $>$::{\bf reference}}\label{classatlas_1_1allocator_1_1Allocator_ed3a8800689b6c39acaf40d43d0de95a}


\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!size_type@{size\_\-type}}
\index{size_type@{size\_\-type}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ typedef size\_\-t {\bf atlas::allocator::Allocator}$<$ T, P $>$::{\bf size\_\-type}}\label{classatlas_1_1allocator_1_1Allocator_bdb7e3965feb116f4a11849173d66787}


\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!value_type@{value\_\-type}}
\index{value_type@{value\_\-type}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ typedef T {\bf atlas::allocator::Allocator}$<$ T, P $>$::{\bf value\_\-type}}\label{classatlas_1_1allocator_1_1Allocator_e251835729a967cb2df6c6c2a0a23fee}




\subsection{Constructor \& Destructor Documentation}
\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!Allocator@{Allocator}}
\index{Allocator@{Allocator}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ {\bf atlas::allocator::Allocator}$<$ T, P $>$::{\bf Allocator} ()  throw ()\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1allocator_1_1Allocator_830bdbe173e4a5be5c0b1a43c4d739eb}


\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!Allocator@{Allocator}}
\index{Allocator@{Allocator}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ {\bf atlas::allocator::Allocator}$<$ T, P $>$::{\bf Allocator} (const {\bf Allocator}$<$ T, P $>$ \&)  throw ()\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1allocator_1_1Allocator_8c161b9eda40a91d8a16784fe34db909}


\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!Allocator@{Allocator}}
\index{Allocator@{Allocator}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ template$<$typename U$>$ {\bf atlas::allocator::Allocator}$<$ T, P $>$::{\bf Allocator} (const {\bf Allocator}$<$ U, P $>$ \&)  throw ()\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1allocator_1_1Allocator_185f42319581d377e9996ff2476e906e}


\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!~Allocator@{$\sim$Allocator}}
\index{~Allocator@{$\sim$Allocator}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ {\bf atlas::allocator::Allocator}$<$ T, P $>$::$\sim${\bf Allocator} ()\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1allocator_1_1Allocator_4850594fb2597b67db51fbd96583b26b}




\subsection{Member Function Documentation}
\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!allocate@{allocate}}
\index{allocate@{allocate}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ {\bf pointer} {\bf atlas::allocator::Allocator}$<$ T, P $>$::allocate ({\bf size\_\-type}, const void $\ast$ {\em hint} = {\tt 0})}\label{classatlas_1_1allocator_1_1Allocator_1999e7fb07db81d3e0314f40187dc97a}


\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!construct@{construct}}
\index{construct@{construct}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ void {\bf atlas::allocator::Allocator}$<$ T, P $>$::construct ({\bf pointer}, {\bf const\_\-reference})}\label{classatlas_1_1allocator_1_1Allocator_6901afcb0146ba4954db432e2269013a}


\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!deallocate@{deallocate}}
\index{deallocate@{deallocate}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ void {\bf atlas::allocator::Allocator}$<$ T, P $>$::deallocate ({\bf pointer}, {\bf size\_\-type})}\label{classatlas_1_1allocator_1_1Allocator_f6a7988a4d7e6ed2051a187c1b184437}


\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!destroy@{destroy}}
\index{destroy@{destroy}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ void {\bf atlas::allocator::Allocator}$<$ T, P $>$::destroy ({\bf pointer})}\label{classatlas_1_1allocator_1_1Allocator_90ae71ccc156df8ed5a3ff1bf66d9d89}


\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!max_size@{max\_\-size}}
\index{max_size@{max\_\-size}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ {\bf size\_\-type} {\bf atlas::allocator::Allocator}$<$ T, P $>$::max\_\-size () const  throw ()\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1allocator_1_1Allocator_f5706fadc599b1e030147a133942a271}




\subsection{Member Data Documentation}
\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!d_constructions@{d\_\-constructions}}
\index{d_constructions@{d\_\-constructions}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ size\_\-t {\bf atlas::allocator::Allocator}$<$ T, P $>$::{\bf d\_\-constructions} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classatlas_1_1allocator_1_1Allocator_bc65159971026b01d1eba707123ab99b}


\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!d_instances@{d\_\-instances}}
\index{d_instances@{d\_\-instances}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ size\_\-t {\bf atlas::allocator::Allocator}$<$ T, P $>$::{\bf d\_\-instances} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classatlas_1_1allocator_1_1Allocator_307765b511914325f26f7db8e851f6e4}


\index{atlas::allocator::Allocator@{atlas::allocator::Allocator}!d_pool@{d\_\-pool}}
\index{d_pool@{d\_\-pool}!atlas::allocator::Allocator@{atlas::allocator::Allocator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename P$>$ P $\ast$ {\bf atlas::allocator::Allocator}$<$ T, P $>$::{\bf d\_\-pool} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classatlas_1_1allocator_1_1Allocator_cc413624d753f1f0a0662e8903b10301}




The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
sources/memory/{\bf allocator.h}\end{CompactItemize}
