\hypertarget{classvertex__lcfi_1_1MemoryManager}{\subsection{vertex\-\_\-lcfi\-:\-:Memory\-Manager$<$ T $>$ Class Template Reference}
\label{classvertex__lcfi_1_1MemoryManager}\index{vertex\-\_\-lcfi\-::\-Memory\-Manager$<$ T $>$@{vertex\-\_\-lcfi\-::\-Memory\-Manager$<$ T $>$}}
}


Memory management.  




{\ttfamily \#include $<$memorymanager.\-h$>$}



Inheritance diagram for vertex\-\_\-lcfi\-:\-:Memory\-Manager$<$ T $>$\-:


Collaboration diagram for vertex\-\_\-lcfi\-:\-:Memory\-Manager$<$ T $>$\-:
\subsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classvertex__lcfi_1_1MemoryManager_af74768c0647944ff61345e63a0aa248b}{virtual \hyperlink{classvertex__lcfi_1_1MemoryManager_af74768c0647944ff61345e63a0aa248b}{$\sim$\-Memory\-Manager} ()}\label{classvertex__lcfi_1_1MemoryManager_af74768c0647944ff61345e63a0aa248b}

\begin{DoxyCompactList}\small\item\em Destructor -\/ will delete all held objects. \end{DoxyCompactList}\item 
\hypertarget{classvertex__lcfi_1_1MemoryManager_a63c2f34a846d4349606d51c9e0106cf5}{void \hyperlink{classvertex__lcfi_1_1MemoryManager_a63c2f34a846d4349606d51c9e0106cf5}{register\-Object} (T $\ast$pointer)}\label{classvertex__lcfi_1_1MemoryManager_a63c2f34a846d4349606d51c9e0106cf5}

\begin{DoxyCompactList}\small\item\em Register an object for memory management. \end{DoxyCompactList}\item 
\hypertarget{classvertex__lcfi_1_1MemoryManager_a35e8c3d624d91d594228c78fcd6f25f4}{void \hyperlink{classvertex__lcfi_1_1MemoryManager_a35e8c3d624d91d594228c78fcd6f25f4}{del\-All} ()}\label{classvertex__lcfi_1_1MemoryManager_a35e8c3d624d91d594228c78fcd6f25f4}

\begin{DoxyCompactList}\small\item\em Delete all objects held by this \hyperlink{classvertex__lcfi_1_1MemoryManager}{Memory\-Manager}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classvertex__lcfi_1_1MemoryManager_ae2f027576fae078f0edbdfaa09ffd001}{static \hyperlink{classvertex__lcfi_1_1MemoryManager}{Memory\-Manager}$<$ T $>$ $\ast$ \hyperlink{classvertex__lcfi_1_1MemoryManager_ae2f027576fae078f0edbdfaa09ffd001}{Event} ()}\label{classvertex__lcfi_1_1MemoryManager_ae2f027576fae078f0edbdfaa09ffd001}

\begin{DoxyCompactList}\small\item\em Returns the \hyperlink{classvertex__lcfi_1_1Event}{Event} duration singleton instance of the \hyperlink{classvertex__lcfi_1_1MemoryManager}{Memory\-Manager} for type T. \end{DoxyCompactList}\item 
\hypertarget{classvertex__lcfi_1_1MemoryManager_a54899b1cb02da597fc6eeb9e6deac996}{static \hyperlink{classvertex__lcfi_1_1MemoryManager}{Memory\-Manager}$<$ T $>$ $\ast$ \hyperlink{classvertex__lcfi_1_1MemoryManager_a54899b1cb02da597fc6eeb9e6deac996}{Run} ()}\label{classvertex__lcfi_1_1MemoryManager_a54899b1cb02da597fc6eeb9e6deac996}

\begin{DoxyCompactList}\small\item\em Returns the Run duration singleton instance of the \hyperlink{classvertex__lcfi_1_1MemoryManager}{Memory\-Manager} for type T. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classvertex__lcfi_1_1MemoryManager_aa55b7f3951ac9b1ddb7f92443fc08ebd}{\hyperlink{classvertex__lcfi_1_1MemoryManager_aa55b7f3951ac9b1ddb7f92443fc08ebd}{Memory\-Manager} ()}\label{classvertex__lcfi_1_1MemoryManager_aa55b7f3951ac9b1ddb7f92443fc08ebd}

\begin{DoxyCompactList}\small\item\em Do not use. \end{DoxyCompactList}\item 
\hypertarget{classvertex__lcfi_1_1MemoryManager_a42f6a96c0330639673ed4d29f0e98a77}{\hyperlink{classvertex__lcfi_1_1MemoryManager_a42f6a96c0330639673ed4d29f0e98a77}{Memory\-Manager} (const \hyperlink{classvertex__lcfi_1_1MemoryManager}{Memory\-Manager}$<$ T $>$ \&)}\label{classvertex__lcfi_1_1MemoryManager_a42f6a96c0330639673ed4d29f0e98a77}

\begin{DoxyCompactList}\small\item\em Do not use. \end{DoxyCompactList}\item 
\hypertarget{classvertex__lcfi_1_1MemoryManager_a6479b707857eb9cfcccd5f76a5fcab7d}{\hyperlink{classvertex__lcfi_1_1MemoryManager}{Memory\-Manager}$<$ T $>$ \& \hyperlink{classvertex__lcfi_1_1MemoryManager_a6479b707857eb9cfcccd5f76a5fcab7d}{operator=} (const \hyperlink{classvertex__lcfi_1_1MemoryManager}{Memory\-Manager}$<$ T $>$ \&)}\label{classvertex__lcfi_1_1MemoryManager_a6479b707857eb9cfcccd5f76a5fcab7d}

\begin{DoxyCompactList}\small\item\em Do not use. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsubsection{Detailed Description}
\subsubsection*{template$<$class T$>$class vertex\-\_\-lcfi\-::\-Memory\-Manager$<$ T $>$}

Memory management. 

Memory in the vertex package is handled on a run and event basis If you wish to have an object that lasts the length of the event then call\-: \par

\begin{DoxyPre}myType* myObject = new myType(construction parameters);\end{DoxyPre}
 \par

\begin{DoxyPre}\hyperlink{classvertex__lcfi_1_1MemoryManager_ae2f027576fae078f0edbdfaa09ffd001}{MemoryManager<myType>::Event()}->registerObject(myObject);\end{DoxyPre}
 \par
At the end of the event to free all objects of all types made using the above call\-: \par

\begin{DoxyPre}\hyperlink{classvertex__lcfi_1_1MetaMemoryManager_a091a22b5287a69fcff3b3dba523a8c5d}{MetaMemoryManager::Event()}->delAllObjects();\end{DoxyPre}
 \par
Similarly for run lifetime objects, replacing Event with Run. 

The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
memorymanager.\-h\end{DoxyCompactItemize}
