\hypertarget{classOpenVolumeMesh_1_1PropertyPtr}{}\section{Open\+Volume\+Mesh\+:\+:Property\+Ptr$<$ PropT, Entity $>$ Class Template Reference}
\label{classOpenVolumeMesh_1_1PropertyPtr}\index{Open\+Volume\+Mesh\+::\+Property\+Ptr$<$ Prop\+T, Entity $>$@{Open\+Volume\+Mesh\+::\+Property\+Ptr$<$ Prop\+T, Entity $>$}}


{\ttfamily \#include $<$Type-\/\+Open\+Volume\+Mesh/libs/\+Open\+Volume\+Mesh/src/\+Open\+Volume\+Mesh/\+Core/\+Property\+Ptr.\+hh$>$}

Inheritance diagram for Open\+Volume\+Mesh\+:\+:Property\+Ptr$<$ PropT, Entity $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.911263cm]{classOpenVolumeMesh_1_1PropertyPtr}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a3e1209c538304d9e5133d49aeb836a39}\label{classOpenVolumeMesh_1_1PropertyPtr_a3e1209c538304d9e5133d49aeb836a39}} 
typedef Prop\+T\+::value\+\_\+type {\bfseries value\+\_\+type}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_ac34f82e881b609f5682ac3797b98729f}\label{classOpenVolumeMesh_1_1PropertyPtr_ac34f82e881b609f5682ac3797b98729f}} 
typedef Prop\+T\+::vector\+\_\+type\+::const\+\_\+iterator {\bfseries const\+\_\+iterator}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_ae4b6b216273f66fbb2e62fc3b63a2ea6}\label{classOpenVolumeMesh_1_1PropertyPtr_ae4b6b216273f66fbb2e62fc3b63a2ea6}} 
typedef Prop\+T\+::vector\+\_\+type\+::iterator {\bfseries iterator}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_ae089c368c86c5db3073dd31086ae4870}\label{classOpenVolumeMesh_1_1PropertyPtr_ae089c368c86c5db3073dd31086ae4870}} 
typedef Prop\+T\+::reference {\bfseries reference}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a5950381bdce43d1b394c1842063673fa}\label{classOpenVolumeMesh_1_1PropertyPtr_a5950381bdce43d1b394c1842063673fa}} 
typedef Prop\+T\+::const\+\_\+reference {\bfseries const\+\_\+reference}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_aeebddd50ba89d93d043d147ad6d6a35b}\label{classOpenVolumeMesh_1_1PropertyPtr_aeebddd50ba89d93d043d147ad6d6a35b}} 
using {\bfseries Entity\+HandleT} = \hyperlink{classOpenVolumeMesh_1_1HandleT}{HandleT}$<$ Entity $>$
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_af36913e9154fc7301620805e774ea25f}\label{classOpenVolumeMesh_1_1PropertyPtr_af36913e9154fc7301620805e774ea25f}} 
\hyperlink{classOpenVolumeMesh_1_1PropertyPtr_af36913e9154fc7301620805e774ea25f}{Property\+Ptr} ()
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a1df89fb373f01a94bac18192b0e65739}\label{classOpenVolumeMesh_1_1PropertyPtr_a1df89fb373f01a94bac18192b0e65739}} 
\hyperlink{classOpenVolumeMesh_1_1PropertyPtr_a1df89fb373f01a94bac18192b0e65739}{Property\+Ptr} (PropT $\ast$\+\_\+ptr, \hyperlink{classOpenVolumeMesh_1_1ResourceManager}{Resource\+Manager} \&\+\_\+res\+Man, \hyperlink{classOpenVolumeMesh_1_1HandleT}{Prop\+HandleT}$<$ Entity $>$ \+\_\+handle)
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_af36aec2d39d69a851a27303d60c188bb}\label{classOpenVolumeMesh_1_1PropertyPtr_af36aec2d39d69a851a27303d60c188bb}} 
\hyperlink{classOpenVolumeMesh_1_1PropertyPtr_af36aec2d39d69a851a27303d60c188bb}{$\sim$\+Property\+Ptr} () override
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a2c22add9c4cac47bc82748cf290d630e}\label{classOpenVolumeMesh_1_1PropertyPtr_a2c22add9c4cac47bc82748cf290d630e}} 
const std\+::string \& {\bfseries name} () const override
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a4f339cb32bef90fee1adbc1bef098a4b}\label{classOpenVolumeMesh_1_1PropertyPtr_a4f339cb32bef90fee1adbc1bef098a4b}} 
void {\bfseries delete\+\_\+element} (size\+\_\+t \+\_\+idx) override
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a43a9dcf8d1e2b5d1221c50d0b49bfc6b}\label{classOpenVolumeMesh_1_1PropertyPtr_a43a9dcf8d1e2b5d1221c50d0b49bfc6b}} 
void {\bfseries swap\+\_\+elements} (size\+\_\+t \+\_\+idx0, size\+\_\+t \+\_\+idx1) override
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_abc885561abd3817fd83f3e3162afeccc}\label{classOpenVolumeMesh_1_1PropertyPtr_abc885561abd3817fd83f3e3162afeccc}} 
void {\bfseries copy} (size\+\_\+t \+\_\+src\+\_\+idx, size\+\_\+t \+\_\+dst\+\_\+idx) override
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a7d45a4732aebce48764a857ad1110ad7}\label{classOpenVolumeMesh_1_1PropertyPtr_a7d45a4732aebce48764a857ad1110ad7}} 
const\+\_\+iterator {\bfseries begin} () const
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_aeff3eefaa2c9aa37694a01a2676e4193}\label{classOpenVolumeMesh_1_1PropertyPtr_aeff3eefaa2c9aa37694a01a2676e4193}} 
iterator {\bfseries begin} ()
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a721a7e50f8adb4cd7db3c9a6c6072cbe}\label{classOpenVolumeMesh_1_1PropertyPtr_a721a7e50f8adb4cd7db3c9a6c6072cbe}} 
size\+\_\+t {\bfseries size} () const override
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a837f0bc90cb63bb48e41cae4bb8ea536}\label{classOpenVolumeMesh_1_1PropertyPtr_a837f0bc90cb63bb48e41cae4bb8ea536}} 
const\+\_\+iterator {\bfseries end} () const
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_af8eec85a029f0c416a1b01fb1a39e4bd}\label{classOpenVolumeMesh_1_1PropertyPtr_af8eec85a029f0c416a1b01fb1a39e4bd}} 
iterator {\bfseries end} ()
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a5209ee142015945652b76e4a70a72456}\label{classOpenVolumeMesh_1_1PropertyPtr_a5209ee142015945652b76e4a70a72456}} 
reference {\bfseries operator\mbox{[}$\,$\mbox{]}} (const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Entity\+HandleT} \&\+\_\+h)
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a33d5e6390f0d92692800a547a49a1347}\label{classOpenVolumeMesh_1_1PropertyPtr_a33d5e6390f0d92692800a547a49a1347}} 
const\+\_\+reference {\bfseries operator\mbox{[}$\,$\mbox{]}} (const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Entity\+HandleT} \&\+\_\+h) const
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_aecf6736ed55c3a13f765573188a4c33e}\label{classOpenVolumeMesh_1_1PropertyPtr_aecf6736ed55c3a13f765573188a4c33e}} 
void {\bfseries serialize} (std\+::ostream \&\+\_\+ostr) const override
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a7fc777162a3ec44efc40205d1a4fa49b}\label{classOpenVolumeMesh_1_1PropertyPtr_a7fc777162a3ec44efc40205d1a4fa49b}} 
void {\bfseries deserialize} (std\+::istream \&\+\_\+istr) override
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a5f8367c31bb3045b59034bcbe62970c2}\label{classOpenVolumeMesh_1_1PropertyPtr_a5f8367c31bb3045b59034bcbe62970c2}} 
\hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshHandle}{Open\+Volume\+Mesh\+Handle} {\bfseries handle} () const override
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_aca9fc61de5f79f68fac08eb63ffa7fa6}\label{classOpenVolumeMesh_1_1PropertyPtr_aca9fc61de5f79f68fac08eb63ffa7fa6}} 
bool {\bfseries persistent} () const override
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a354a51fbb5f6dcca142a8ba58fb92e57}\label{classOpenVolumeMesh_1_1PropertyPtr_a354a51fbb5f6dcca142a8ba58fb92e57}} 
bool {\bfseries anonymous} () const override
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a3d2d1506ee4fdc846f17110c5f435287}\label{classOpenVolumeMesh_1_1PropertyPtr_a3d2d1506ee4fdc846f17110c5f435287}} 
const std\+::string \& {\bfseries internal\+\_\+type\+\_\+name} () const override
\item 
void \hyperlink{classOpenVolumeMesh_1_1PropertyPtr_a554605999f0b75c05a33db14388e4ad4}{assign\+\_\+values\+\_\+from} (const \hyperlink{classOpenVolumeMesh_1_1BaseProperty}{Base\+Property} $\ast$other) override
\item 
void \hyperlink{classOpenVolumeMesh_1_1PropertyPtr_a692f630038d18bcbe6f4d2e824ed5a4c}{move\+\_\+values\+\_\+from} (\hyperlink{classOpenVolumeMesh_1_1BaseProperty}{Base\+Property} $\ast$other) override
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a046f270bcf79c06fc672b60d2e86cee5}\label{classOpenVolumeMesh_1_1PropertyPtr_a046f270bcf79c06fc672b60d2e86cee5}} 
void {\bfseries delete\+\_\+multiple\+\_\+entries} (const std\+::vector$<$ bool $>$ \&\+\_\+tags) override
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a452fca6adccd233afd1e74d2319d90cc}\label{classOpenVolumeMesh_1_1PropertyPtr_a452fca6adccd233afd1e74d2319d90cc}} 
void {\bfseries resize} (size\+\_\+t \+\_\+size) override
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_aed993556df0e94f880d7bb9e75e064f5}\label{classOpenVolumeMesh_1_1PropertyPtr_aed993556df0e94f880d7bb9e75e064f5}} 
void {\bfseries set\+\_\+handle} (const \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshHandle}{Open\+Volume\+Mesh\+Handle} \&\+\_\+handle) override
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a54c1252abc87a78a301e6b6984470408}\label{classOpenVolumeMesh_1_1PropertyPtr_a54c1252abc87a78a301e6b6984470408}} 
class {\bfseries Resource\+Manager}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
\subsubsection*{template$<$class PropT, typename Entity$>$\newline
class Open\+Volume\+Mesh\+::\+Property\+Ptr$<$ Prop\+T, Entity $>$}

A smart-\/pointer-\/like class that counts the encapsulated object\textquotesingle{}s references and automatically deletes the memory as soon as the object is not used anymore. 

Definition at line 12 of file Forward\+Declarations.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a554605999f0b75c05a33db14388e4ad4}\label{classOpenVolumeMesh_1_1PropertyPtr_a554605999f0b75c05a33db14388e4ad4}} 
\index{Open\+Volume\+Mesh\+::\+Property\+Ptr@{Open\+Volume\+Mesh\+::\+Property\+Ptr}!assign\+\_\+values\+\_\+from@{assign\+\_\+values\+\_\+from}}
\index{assign\+\_\+values\+\_\+from@{assign\+\_\+values\+\_\+from}!Open\+Volume\+Mesh\+::\+Property\+Ptr@{Open\+Volume\+Mesh\+::\+Property\+Ptr}}
\subsubsection{\texorpdfstring{assign\+\_\+values\+\_\+from()}{assign\_values\_from()}}
{\footnotesize\ttfamily template$<$class PropT , typename Entity $>$ \\
void \hyperlink{classOpenVolumeMesh_1_1PropertyPtr}{Open\+Volume\+Mesh\+::\+Property\+Ptr}$<$ PropT, Entity $>$\+::assign\+\_\+values\+\_\+from (\begin{DoxyParamCaption}\item[{const \hyperlink{classOpenVolumeMesh_1_1BaseProperty}{Base\+Property} $\ast$}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}

Copy data from other property. {\ttfamily other} M\+U\+ST point to an object with the same type as {\ttfamily this}! Currently no type check is performed. 

Implements \hyperlink{classOpenVolumeMesh_1_1BaseProperty_a552779a71d983f9493797ec79f10b99f}{Open\+Volume\+Mesh\+::\+Base\+Property}.



Definition at line 63 of file Property\+Ptr\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classOpenVolumeMesh_1_1PropertyPtr_a692f630038d18bcbe6f4d2e824ed5a4c}\label{classOpenVolumeMesh_1_1PropertyPtr_a692f630038d18bcbe6f4d2e824ed5a4c}} 
\index{Open\+Volume\+Mesh\+::\+Property\+Ptr@{Open\+Volume\+Mesh\+::\+Property\+Ptr}!move\+\_\+values\+\_\+from@{move\+\_\+values\+\_\+from}}
\index{move\+\_\+values\+\_\+from@{move\+\_\+values\+\_\+from}!Open\+Volume\+Mesh\+::\+Property\+Ptr@{Open\+Volume\+Mesh\+::\+Property\+Ptr}}
\subsubsection{\texorpdfstring{move\+\_\+values\+\_\+from()}{move\_values\_from()}}
{\footnotesize\ttfamily template$<$class PropT , typename Entity $>$ \\
void \hyperlink{classOpenVolumeMesh_1_1PropertyPtr}{Open\+Volume\+Mesh\+::\+Property\+Ptr}$<$ PropT, Entity $>$\+::move\+\_\+values\+\_\+from (\begin{DoxyParamCaption}\item[{\hyperlink{classOpenVolumeMesh_1_1BaseProperty}{Base\+Property} $\ast$}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}

Move data from other property. {\ttfamily other} M\+U\+ST point to an object with the same type as {\ttfamily this}! Currently no type check is performed. 

Implements \hyperlink{classOpenVolumeMesh_1_1BaseProperty_a09e9df8f8bdf691a35ac61d6f80f4235}{Open\+Volume\+Mesh\+::\+Base\+Property}.



Definition at line 70 of file Property\+Ptr\+T\+\_\+impl.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Type-\/\+Open\+Volume\+Mesh/libs/\+Open\+Volume\+Mesh/src/\+Open\+Volume\+Mesh/\+Core/Forward\+Declarations.\+hh\item 
Type-\/\+Open\+Volume\+Mesh/libs/\+Open\+Volume\+Mesh/src/\+Open\+Volume\+Mesh/\+Core/Property\+Ptr.\+hh\item 
Type-\/\+Open\+Volume\+Mesh/libs/\+Open\+Volume\+Mesh/src/\+Open\+Volume\+Mesh/\+Core/Property\+Ptr\+T\+\_\+impl.\+hh\end{DoxyCompactItemize}
