\hypertarget{a00933}{\section{Open\+Volume\+Mesh\+:\+:Open\+Volume\+Mesh\+Property\+T$<$ T $>$ Class Template Reference}
\label{a00933}\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 $<$libs\+\_\+required/\+Open\+Volume\+Mesh/src/\+Open\+Volume\+Mesh/\+Core/\+Open\+Volume\+Mesh\+Property.\+hh$>$}

Inheritance diagram for Open\+Volume\+Mesh\+:\+:Open\+Volume\+Mesh\+Property\+T$<$ T $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a00933}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00933_a9d1c591bc2748b4e4af8c8382b3eabe3}{typedef T {\bfseries Value}}\label{a00933_a9d1c591bc2748b4e4af8c8382b3eabe3}

\item 
\hypertarget{a00933_a5e5dac6bae582c14935452b9c2dcf762}{typedef std\+::vector$<$ T $>$ {\bfseries vector\+\_\+type}}\label{a00933_a5e5dac6bae582c14935452b9c2dcf762}

\item 
\hypertarget{a00933_a0f90ef9d01c913d7b2420c201e5b0f6f}{typedef T {\bfseries value\+\_\+type}}\label{a00933_a0f90ef9d01c913d7b2420c201e5b0f6f}

\item 
\hypertarget{a00933_a1aac01de0c6cb02a5c6515169852bc10}{typedef vector\+\_\+type\+::reference {\bfseries reference}}\label{a00933_a1aac01de0c6cb02a5c6515169852bc10}

\item 
\hypertarget{a00933_a29f8d1abf465f2dcd7a62808439b1929}{typedef \\*
vector\+\_\+type\+::const\+\_\+reference {\bfseries const\+\_\+reference}}\label{a00933_a29f8d1abf465f2dcd7a62808439b1929}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00933_a7b015fdbc1511d792e69d1cf6f6c2ef8}{\hyperlink{a00933_a7b015fdbc1511d792e69d1cf6f6c2ef8}{Open\+Volume\+Mesh\+Property\+T} (const std\+::string \&\+\_\+name=\char`\"{}$<$unknown$>$\char`\"{}, const T \+\_\+def=T())}\label{a00933_a7b015fdbc1511d792e69d1cf6f6c2ef8}

\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item 
\hypertarget{a00933_a8f102e52353b675ffb0ec1308c67b40f}{\hyperlink{a00933_a8f102e52353b675ffb0ec1308c67b40f}{Open\+Volume\+Mesh\+Property\+T} (const \hyperlink{a00933}{Open\+Volume\+Mesh\+Property\+T} \&\+\_\+rhs)}\label{a00933_a8f102e52353b675ffb0ec1308c67b40f}

\begin{DoxyCompactList}\small\item\em Copy constructor. \end{DoxyCompactList}\item 
\hypertarget{a00933_a732c35cf97c97ffaf15c5b9da538884a}{virtual void \hyperlink{a00933_a732c35cf97c97ffaf15c5b9da538884a}{reserve} (size\+\_\+t \+\_\+n)}\label{a00933_a732c35cf97c97ffaf15c5b9da538884a}

\begin{DoxyCompactList}\small\item\em Reserve memory for n elements. \end{DoxyCompactList}\item 
\hypertarget{a00933_a68cd765e2422d39fbaed8b9d3188cf79}{virtual void \hyperlink{a00933_a68cd765e2422d39fbaed8b9d3188cf79}{resize} (size\+\_\+t \+\_\+n)}\label{a00933_a68cd765e2422d39fbaed8b9d3188cf79}

\begin{DoxyCompactList}\small\item\em Resize storage to hold n elements. \end{DoxyCompactList}\item 
\hypertarget{a00933_a24e8dc5d83707a1cc3eaaba447cd9758}{virtual void \hyperlink{a00933_a24e8dc5d83707a1cc3eaaba447cd9758}{clear} ()}\label{a00933_a24e8dc5d83707a1cc3eaaba447cd9758}

\begin{DoxyCompactList}\small\item\em Clear all elements and free memory. \end{DoxyCompactList}\item 
\hypertarget{a00933_ac1829ea8087b34a189573f0aa7cbedea}{virtual void \hyperlink{a00933_ac1829ea8087b34a189573f0aa7cbedea}{push\+\_\+back} ()}\label{a00933_ac1829ea8087b34a189573f0aa7cbedea}

\begin{DoxyCompactList}\small\item\em Extend the number of elements by one. \end{DoxyCompactList}\item 
\hypertarget{a00933_a82e416b09e7718dbbdcbc4291acee268}{virtual void \hyperlink{a00933_a82e416b09e7718dbbdcbc4291acee268}{swap} (size\+\_\+t \+\_\+i0, size\+\_\+t \+\_\+i1)}\label{a00933_a82e416b09e7718dbbdcbc4291acee268}

\begin{DoxyCompactList}\small\item\em Let two elements swap their storage place. \end{DoxyCompactList}\item 
\hypertarget{a00933_a54cf928fb8b0962c86df8521f4ea5115}{void \hyperlink{a00933_a54cf928fb8b0962c86df8521f4ea5115}{delete\+\_\+element} (size\+\_\+t \+\_\+idx)}\label{a00933_a54cf928fb8b0962c86df8521f4ea5115}

\begin{DoxyCompactList}\small\item\em Erase an element of the vector. \end{DoxyCompactList}\item 
\hypertarget{a00933_abbb066bcc0bb78f7baae3094a127a8c8}{virtual size\+\_\+t \hyperlink{a00933_abbb066bcc0bb78f7baae3094a127a8c8}{n\+\_\+elements} () const }\label{a00933_abbb066bcc0bb78f7baae3094a127a8c8}

\begin{DoxyCompactList}\small\item\em Number of elements in property. \end{DoxyCompactList}\item 
\hypertarget{a00933_a1c464704efb4ad4c72d63c483cc5e2f1}{virtual size\+\_\+t \hyperlink{a00933_a1c464704efb4ad4c72d63c483cc5e2f1}{element\+\_\+size} () const }\label{a00933_a1c464704efb4ad4c72d63c483cc5e2f1}

\begin{DoxyCompactList}\small\item\em Size of one element in bytes or Unknown\+Size if not known. \end{DoxyCompactList}\item 
\hypertarget{a00933_afbbedd5c84edd5838d03b1b8604c877e}{virtual size\+\_\+t \hyperlink{a00933_afbbedd5c84edd5838d03b1b8604c877e}{size\+\_\+of} () const }\label{a00933_afbbedd5c84edd5838d03b1b8604c877e}

\begin{DoxyCompactList}\small\item\em Return size of property in bytes. \end{DoxyCompactList}\item 
virtual size\+\_\+t \hyperlink{a00933_af80b789654466e43c3da0ade28186438}{size\+\_\+of} (size\+\_\+t \+\_\+n\+\_\+elem) const 
\item 
\hypertarget{a00933_a9b6bead196670c450a7878f6515a8ce2}{virtual void {\bfseries serialize} (std\+::ostream \&\+\_\+ostr) const }\label{a00933_a9b6bead196670c450a7878f6515a8ce2}

\item 
\hypertarget{a00933_af0e66ef67f99088a5cb33afbdce6f9b7}{virtual void {\bfseries deserialize} (std\+::istream \&\+\_\+istr)}\label{a00933_af0e66ef67f99088a5cb33afbdce6f9b7}

\item 
\hypertarget{a00933_a211eb59a1fb2c9d3ab4fdd3a260a7a83}{const T $\ast$ \hyperlink{a00933_a211eb59a1fb2c9d3ab4fdd3a260a7a83}{data} () const }\label{a00933_a211eb59a1fb2c9d3ab4fdd3a260a7a83}

\begin{DoxyCompactList}\small\item\em Get pointer to array (does not work for T==bool) \end{DoxyCompactList}\item 
\hypertarget{a00933_ab8281cdce2ac27a615e3d3d70f6644c1}{vector\+\_\+type \& \hyperlink{a00933_ab8281cdce2ac27a615e3d3d70f6644c1}{data\+\_\+vector} ()}\label{a00933_ab8281cdce2ac27a615e3d3d70f6644c1}

\begin{DoxyCompactList}\small\item\em Get reference to property vector (be careful, improper usage, e.\+g. resizing, may crash) \end{DoxyCompactList}\item 
\hypertarget{a00933_a80faf315602c911c10f07150e88daf79}{reference \hyperlink{a00933_a80faf315602c911c10f07150e88daf79}{operator\mbox{[}$\,$\mbox{]}} (int \+\_\+idx)}\label{a00933_a80faf315602c911c10f07150e88daf79}

\begin{DoxyCompactList}\small\item\em Access the i'th element. No range check is performed! \end{DoxyCompactList}\item 
\hypertarget{a00933_a61dcedb856d4041650573bb48ffe1e40}{const\+\_\+reference \hyperlink{a00933_a61dcedb856d4041650573bb48ffe1e40}{operator\mbox{[}$\,$\mbox{]}} (int \+\_\+idx) const }\label{a00933_a61dcedb856d4041650573bb48ffe1e40}

\begin{DoxyCompactList}\small\item\em Const access to the i'th element. No range check is performed! \end{DoxyCompactList}\item 
\hypertarget{a00933_a12818ae00c3e80f7deda55cff6e0b3eb}{\hyperlink{a00933}{Open\+Volume\+Mesh\+Property\+T}$<$ T $>$ $\ast$ \hyperlink{a00933_a12818ae00c3e80f7deda55cff6e0b3eb}{clone} () const }\label{a00933_a12818ae00c3e80f7deda55cff6e0b3eb}

\begin{DoxyCompactList}\small\item\em Make a copy of self. \end{DoxyCompactList}\item 
\hypertarget{a00933_aa3ccf3b0c6df0e55efb4bb7f858993e4}{vector\+\_\+type\+::const\+\_\+iterator {\bfseries begin} () const }\label{a00933_aa3ccf3b0c6df0e55efb4bb7f858993e4}

\item 
\hypertarget{a00933_a3db1f248a52053b12a0373fabc2e8fb4}{vector\+\_\+type\+::iterator {\bfseries begin} ()}\label{a00933_a3db1f248a52053b12a0373fabc2e8fb4}

\item 
\hypertarget{a00933_abf2f0d20509a4befcbe1c73d79adef74}{vector\+\_\+type\+::const\+\_\+iterator {\bfseries end} () const }\label{a00933_abf2f0d20509a4befcbe1c73d79adef74}

\item 
\hypertarget{a00933_aa046cb5d5aa2b82c3053e19c1bb3b460}{vector\+\_\+type\+::iterator {\bfseries end} ()}\label{a00933_aa046cb5d5aa2b82c3053e19c1bb3b460}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00933_a7a7cb7781c2c1b64c0f55668ec556c6f}{virtual void \hyperlink{a00933_a7a7cb7781c2c1b64c0f55668ec556c6f}{delete\+\_\+multiple\+\_\+entries} (const std\+::vector$<$ bool $>$ \&\+\_\+tags)}\label{a00933_a7a7cb7781c2c1b64c0f55668ec556c6f}

\begin{DoxyCompactList}\small\item\em Delete multiple entries in list. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00933_a252155e986a5ec3da7b1f16923ef05e8}{vector\+\_\+type {\bfseries data\+\_\+}}\label{a00933_a252155e986a5ec3da7b1f16923ef05e8}

\item 
\hypertarget{a00933_af85fc3336aecffcc5dd6ab60b0a0d625}{const T {\bfseries def\+\_\+}}\label{a00933_af85fc3336aecffcc5dd6ab60b0a0d625}

\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00933_a65aa8a1d9c3671d4ba41bcde569b1e76}{{\footnotesize template$<$class Prop\+T , class Handle\+T $>$ }\\class {\bfseries Property\+Ptr}}\label{a00933_a65aa8a1d9c3671d4ba41bcde569b1e76}

\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
\subsubsection*{template$<$class T$>$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 71 of file Open\+Volume\+Mesh\+Property.\+hh.



\subsection{Member Function Documentation}
\hypertarget{a00933_af80b789654466e43c3da0ade28186438}{\index{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Property\+T@{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Property\+T}!size\+\_\+of@{size\+\_\+of}}
\index{size\+\_\+of@{size\+\_\+of}!Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Property\+T@{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Property\+T}}
\subsubsection[{size\+\_\+of}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ virtual size\+\_\+t {\bf Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Property\+T}$<$ T $>$\+::size\+\_\+of (
\begin{DoxyParamCaption}
\item[{size\+\_\+t}]{\+\_\+n\+\_\+elem}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a00933_af80b789654466e43c3da0ade28186438}
Estimated size of property if it has \+\_\+n\+\_\+elem elements. The member returns Unknown\+Size if the size cannot be estimated. 

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



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



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
libs\+\_\+required/\+Open\+Volume\+Mesh/src/\+Open\+Volume\+Mesh/\+Core/Open\+Volume\+Mesh\+Property.\+hh\end{DoxyCompactItemize}
