\hypertarget{a11504}{}\section{Open\+Volume\+Mesh\+:\+:Open\+Volume\+Mesh\+PropertyT$<$ T $>$ Class Template Reference}
\label{a11504}\index{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Property\+T$<$ T $>$@{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Property\+T$<$ T $>$}}


Default property class for any type T.  




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

Inheritance diagram for Open\+Volume\+Mesh\+:\+:Open\+Volume\+Mesh\+PropertyT$<$ T $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a11504}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11504_a9d1c591bc2748b4e4af8c8382b3eabe3}\label{a11504_a9d1c591bc2748b4e4af8c8382b3eabe3}} 
typedef T {\bfseries Value}
\item 
\mbox{\Hypertarget{a11504_a5e5dac6bae582c14935452b9c2dcf762}\label{a11504_a5e5dac6bae582c14935452b9c2dcf762}} 
typedef std\+::vector$<$ T $>$ {\bfseries vector\+\_\+type}
\item 
\mbox{\Hypertarget{a11504_a0f90ef9d01c913d7b2420c201e5b0f6f}\label{a11504_a0f90ef9d01c913d7b2420c201e5b0f6f}} 
typedef T {\bfseries value\+\_\+type}
\item 
\mbox{\Hypertarget{a11504_a1aac01de0c6cb02a5c6515169852bc10}\label{a11504_a1aac01de0c6cb02a5c6515169852bc10}} 
typedef vector\+\_\+type\+::reference {\bfseries reference}
\item 
\mbox{\Hypertarget{a11504_a29f8d1abf465f2dcd7a62808439b1929}\label{a11504_a29f8d1abf465f2dcd7a62808439b1929}} 
typedef vector\+\_\+type\+::const\+\_\+reference {\bfseries const\+\_\+reference}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11504_a6c0fd97ff2486d7bcb3fd669e85930f3}\label{a11504_a6c0fd97ff2486d7bcb3fd669e85930f3}} 
{\bfseries Open\+Volume\+Mesh\+PropertyT} (const std\+::string \&\+\_\+name=\char`\"{}$<$unknown$>$\char`\"{}, const T \&\+\_\+def=T())
\item 
\mbox{\Hypertarget{a11504_a4e1968c33259469b7c204d425d9cbec2}\label{a11504_a4e1968c33259469b7c204d425d9cbec2}} 
{\bfseries Open\+Volume\+Mesh\+PropertyT} (const \hyperlink{a11504}{Open\+Volume\+Mesh\+PropertyT} \&\+\_\+rhs)=default
\item 
\mbox{\Hypertarget{a11504_a732c35cf97c97ffaf15c5b9da538884a}\label{a11504_a732c35cf97c97ffaf15c5b9da538884a}} 
virtual void \hyperlink{a11504_a732c35cf97c97ffaf15c5b9da538884a}{reserve} (size\+\_\+t \+\_\+n)
\begin{DoxyCompactList}\small\item\em Reserve memory for n elements. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_a68cd765e2422d39fbaed8b9d3188cf79}\label{a11504_a68cd765e2422d39fbaed8b9d3188cf79}} 
virtual void \hyperlink{a11504_a68cd765e2422d39fbaed8b9d3188cf79}{resize} (size\+\_\+t \+\_\+n)
\begin{DoxyCompactList}\small\item\em Resize storage to hold n elements. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_a24e8dc5d83707a1cc3eaaba447cd9758}\label{a11504_a24e8dc5d83707a1cc3eaaba447cd9758}} 
virtual void \hyperlink{a11504_a24e8dc5d83707a1cc3eaaba447cd9758}{clear} ()
\begin{DoxyCompactList}\small\item\em Clear all elements and free memory. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_ac1829ea8087b34a189573f0aa7cbedea}\label{a11504_ac1829ea8087b34a189573f0aa7cbedea}} 
virtual void \hyperlink{a11504_ac1829ea8087b34a189573f0aa7cbedea}{push\+\_\+back} ()
\begin{DoxyCompactList}\small\item\em Extend the number of elements by one. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_a82e416b09e7718dbbdcbc4291acee268}\label{a11504_a82e416b09e7718dbbdcbc4291acee268}} 
virtual void \hyperlink{a11504_a82e416b09e7718dbbdcbc4291acee268}{swap} (size\+\_\+t \+\_\+i0, size\+\_\+t \+\_\+i1)
\begin{DoxyCompactList}\small\item\em Let two elements swap their storage place. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_ae5b30d672490564bd567d9d14930b8d4}\label{a11504_ae5b30d672490564bd567d9d14930b8d4}} 
virtual void {\bfseries copy} (size\+\_\+t \+\_\+src\+\_\+idx, size\+\_\+t \+\_\+dst\+\_\+idx)
\item 
\mbox{\Hypertarget{a11504_a54cf928fb8b0962c86df8521f4ea5115}\label{a11504_a54cf928fb8b0962c86df8521f4ea5115}} 
void \hyperlink{a11504_a54cf928fb8b0962c86df8521f4ea5115}{delete\+\_\+element} (size\+\_\+t \+\_\+idx)
\begin{DoxyCompactList}\small\item\em Erase an element of the vector. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_ad2788f0e862a09f1fb84609dbc4a6dd4}\label{a11504_ad2788f0e862a09f1fb84609dbc4a6dd4}} 
virtual size\+\_\+t \hyperlink{a11504_ad2788f0e862a09f1fb84609dbc4a6dd4}{n\+\_\+elements} () const
\begin{DoxyCompactList}\small\item\em Number of elements in property. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_aa79e5bf9f1869c4d276828c604550add}\label{a11504_aa79e5bf9f1869c4d276828c604550add}} 
virtual size\+\_\+t \hyperlink{a11504_aa79e5bf9f1869c4d276828c604550add}{element\+\_\+size} () const
\begin{DoxyCompactList}\small\item\em Size of one element in bytes or Unknown\+Size if not known. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_ac953afbc70d041e856793dde1284c129}\label{a11504_ac953afbc70d041e856793dde1284c129}} 
virtual size\+\_\+t \hyperlink{a11504_ac953afbc70d041e856793dde1284c129}{size\+\_\+of} () const
\begin{DoxyCompactList}\small\item\em Return size of property in bytes. \end{DoxyCompactList}\item 
virtual size\+\_\+t \hyperlink{a11504_af9efc9e173c90fbba6bf75d91556372f}{size\+\_\+of} (size\+\_\+t \+\_\+n\+\_\+elem) const
\item 
\mbox{\Hypertarget{a11504_ad4f55a4ffc3031681bf4704088b6b392}\label{a11504_ad4f55a4ffc3031681bf4704088b6b392}} 
virtual void {\bfseries serialize} (std\+::ostream \&\+\_\+ostr) const
\item 
\mbox{\Hypertarget{a11504_af0e66ef67f99088a5cb33afbdce6f9b7}\label{a11504_af0e66ef67f99088a5cb33afbdce6f9b7}} 
virtual void {\bfseries deserialize} (std\+::istream \&\+\_\+istr)
\item 
\mbox{\Hypertarget{a11504_a9793bb5ccb18af5eea8df4fdbbc7d723}\label{a11504_a9793bb5ccb18af5eea8df4fdbbc7d723}} 
const T $\ast$ \hyperlink{a11504_a9793bb5ccb18af5eea8df4fdbbc7d723}{data} () const
\begin{DoxyCompactList}\small\item\em Get pointer to array (does not work for T==bool) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_ab8281cdce2ac27a615e3d3d70f6644c1}\label{a11504_ab8281cdce2ac27a615e3d3d70f6644c1}} 
vector\+\_\+type \& \hyperlink{a11504_ab8281cdce2ac27a615e3d3d70f6644c1}{data\+\_\+vector} ()
\begin{DoxyCompactList}\small\item\em Get reference to property vector (be careful, improper usage, e.\+g. resizing, may crash) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_a666f2eb843c11f15eb8950115a04f350}\label{a11504_a666f2eb843c11f15eb8950115a04f350}} 
reference \hyperlink{a11504_a666f2eb843c11f15eb8950115a04f350}{operator\mbox{[}$\,$\mbox{]}} (size\+\_\+t \+\_\+idx)
\begin{DoxyCompactList}\small\item\em Access the i\textquotesingle{}th element. No range check is performed! \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_aa012f78b53a110d457ac238670fd494e}\label{a11504_aa012f78b53a110d457ac238670fd494e}} 
const\+\_\+reference \hyperlink{a11504_aa012f78b53a110d457ac238670fd494e}{operator\mbox{[}$\,$\mbox{]}} (size\+\_\+t \+\_\+idx) const
\begin{DoxyCompactList}\small\item\em Const access to the i\textquotesingle{}th element. No range check is performed! \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_a81a3dab2d7c867355031ee40f2563eac}\label{a11504_a81a3dab2d7c867355031ee40f2563eac}} 
\hyperlink{a11504}{Open\+Volume\+Mesh\+PropertyT}$<$ T $>$ $\ast$ \hyperlink{a11504_a81a3dab2d7c867355031ee40f2563eac}{clone} () const
\begin{DoxyCompactList}\small\item\em Make a copy of self. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_a0874316d08e6900f1effc922e91c9c75}\label{a11504_a0874316d08e6900f1effc922e91c9c75}} 
vector\+\_\+type\+::const\+\_\+iterator {\bfseries begin} () const
\item 
\mbox{\Hypertarget{a11504_a3db1f248a52053b12a0373fabc2e8fb4}\label{a11504_a3db1f248a52053b12a0373fabc2e8fb4}} 
vector\+\_\+type\+::iterator {\bfseries begin} ()
\item 
\mbox{\Hypertarget{a11504_a9148d6573f551cd0d9ca47577258ef0e}\label{a11504_a9148d6573f551cd0d9ca47577258ef0e}} 
vector\+\_\+type\+::const\+\_\+iterator {\bfseries end} () const
\item 
\mbox{\Hypertarget{a11504_aa046cb5d5aa2b82c3053e19c1bb3b460}\label{a11504_aa046cb5d5aa2b82c3053e19c1bb3b460}} 
vector\+\_\+type\+::iterator {\bfseries end} ()
\item 
\mbox{\Hypertarget{a11504_ade032d0e0bb49a93848595e9f3a06b94}\label{a11504_ade032d0e0bb49a93848595e9f3a06b94}} 
{\footnotesize template$<$$>$ }\\void \hyperlink{a11504_ade032d0e0bb49a93848595e9f3a06b94}{swap} (size\+\_\+t \+\_\+i0, size\+\_\+t \+\_\+i1)
\begin{DoxyCompactList}\small\item\em Let two elements swap their storage place. \end{DoxyCompactList}\item 
{\footnotesize template$<$$>$ }\\size\+\_\+t \hyperlink{a11504_ae22c70cdf51d861fc753199091263272}{size\+\_\+of} (size\+\_\+t \+\_\+n\+\_\+elem) const
\item 
\mbox{\Hypertarget{a11504_adb2e64e4ded5ebaa536f100ba7d4d686}\label{a11504_adb2e64e4ded5ebaa536f100ba7d4d686}} 
{\footnotesize template$<$$>$ }\\size\+\_\+t \hyperlink{a11504_adb2e64e4ded5ebaa536f100ba7d4d686}{size\+\_\+of} () const
\begin{DoxyCompactList}\small\item\em Return size of property in bytes. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_a0c296485497467be8223923d0be336e3}\label{a11504_a0c296485497467be8223923d0be336e3}} 
{\footnotesize template$<$$>$ }\\size\+\_\+t \hyperlink{a11504_a0c296485497467be8223923d0be336e3}{element\+\_\+size} () const
\begin{DoxyCompactList}\small\item\em Size of one element in bytes or Unknown\+Size if not known. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_acab874c0d2c8015608b57c1649683e6d}\label{a11504_acab874c0d2c8015608b57c1649683e6d}} 
{\footnotesize template$<$$>$ }\\void {\bfseries deserialize} (std\+::istream \&\+\_\+istr)
\item 
{\footnotesize template$<$$>$ }\\size\+\_\+t \hyperlink{a11504_a0090181fc72a7e6a108436c183cc44e8}{size\+\_\+of} (size\+\_\+t) const
\item 
\mbox{\Hypertarget{a11504_ad6cad4272a3e5468c6a9ada2bf19fd53}\label{a11504_ad6cad4272a3e5468c6a9ada2bf19fd53}} 
{\footnotesize template$<$$>$ }\\size\+\_\+t \hyperlink{a11504_ad6cad4272a3e5468c6a9ada2bf19fd53}{size\+\_\+of} () const
\begin{DoxyCompactList}\small\item\em Return size of property in bytes. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11504_a2673b652a3b816b075dbc2965861db34}\label{a11504_a2673b652a3b816b075dbc2965861db34}} 
{\footnotesize template$<$$>$ }\\size\+\_\+t \hyperlink{a11504_a2673b652a3b816b075dbc2965861db34}{element\+\_\+size} () const
\begin{DoxyCompactList}\small\item\em Size of one element in bytes or Unknown\+Size if not known. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11504_a7a7cb7781c2c1b64c0f55668ec556c6f}\label{a11504_a7a7cb7781c2c1b64c0f55668ec556c6f}} 
virtual void \hyperlink{a11504_a7a7cb7781c2c1b64c0f55668ec556c6f}{delete\+\_\+multiple\+\_\+entries} (const std\+::vector$<$ bool $>$ \&\+\_\+tags)
\begin{DoxyCompactList}\small\item\em Delete multiple entries in list. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11504_a252155e986a5ec3da7b1f16923ef05e8}\label{a11504_a252155e986a5ec3da7b1f16923ef05e8}} 
vector\+\_\+type {\bfseries data\+\_\+}
\item 
\mbox{\Hypertarget{a11504_af85fc3336aecffcc5dd6ab60b0a0d625}\label{a11504_af85fc3336aecffcc5dd6ab60b0a0d625}} 
const T {\bfseries def\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11504_a65aa8a1d9c3671d4ba41bcde569b1e76}\label{a11504_a65aa8a1d9c3671d4ba41bcde569b1e76}} 
{\footnotesize template$<$class PropT , class HandleT $>$ }\\class {\bfseries Property\+Ptr}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
\subsubsection*{template$<$class T$>$\newline
class Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Property\+T$<$ T $>$}

Default property class for any type T. 

The default property class for any type T. 

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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a11504_af9efc9e173c90fbba6bf75d91556372f}\label{a11504_af9efc9e173c90fbba6bf75d91556372f}} 
\index{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+PropertyT@{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+PropertyT}!size\+\_\+of@{size\+\_\+of}}
\index{size\+\_\+of@{size\+\_\+of}!Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+PropertyT@{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+PropertyT}}
\subsubsection{\texorpdfstring{size\+\_\+of()}{size\_of()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily template$<$class T $>$ \\
virtual size\+\_\+t \hyperlink{a11504}{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+PropertyT}$<$ T $>$\+::size\+\_\+of (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{\+\_\+n\+\_\+elem }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Estimated size of property if it has \+\_\+n\+\_\+elem elements. The member returns Unknown\+Size if the size cannot be estimated. 

Reimplemented from \hyperlink{a11600_aa4d065980ebc144dc313f2dc6837886f}{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Base\+Property}.



Definition at line 134 of file Open\+Volume\+Mesh\+Property.\+hh.

\mbox{\Hypertarget{a11504_ae22c70cdf51d861fc753199091263272}\label{a11504_ae22c70cdf51d861fc753199091263272}} 
\index{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+PropertyT@{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+PropertyT}!size\+\_\+of@{size\+\_\+of}}
\index{size\+\_\+of@{size\+\_\+of}!Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+PropertyT@{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+PropertyT}}
\subsubsection{\texorpdfstring{size\+\_\+of()}{size\_of()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily template$<$$>$ \\
size\+\_\+t \hyperlink{a11504}{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+PropertyT}$<$ bool $>$\+::size\+\_\+of (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{\+\_\+n\+\_\+elem }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Estimated size of property if it has \+\_\+n\+\_\+elem elements. The member returns Unknown\+Size if the size cannot be estimated. 

Reimplemented from \hyperlink{a11600_aa4d065980ebc144dc313f2dc6837886f}{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Base\+Property}.



Definition at line 240 of file Open\+Volume\+Mesh\+Property.\+hh.

\mbox{\Hypertarget{a11504_a0090181fc72a7e6a108436c183cc44e8}\label{a11504_a0090181fc72a7e6a108436c183cc44e8}} 
\index{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+PropertyT@{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+PropertyT}!size\+\_\+of@{size\+\_\+of}}
\index{size\+\_\+of@{size\+\_\+of}!Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+PropertyT@{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+PropertyT}}
\subsubsection{\texorpdfstring{size\+\_\+of()}{size\_of()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily template$<$$>$ \\
size\+\_\+t \hyperlink{a11504}{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+PropertyT}$<$ std\+::string $>$\+::size\+\_\+of (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{\+\_\+n\+\_\+elem }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Estimated size of property if it has \+\_\+n\+\_\+elem elements. The member returns Unknown\+Size if the size cannot be estimated. 

Reimplemented from \hyperlink{a11600_aa4d065980ebc144dc313f2dc6837886f}{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Base\+Property}.



Definition at line 272 of file Open\+Volume\+Mesh\+Property.\+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/Open\+Volume\+Mesh\+Property.\+hh\end{DoxyCompactItemize}
