\hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty}{}\section{Open\+Volume\+Mesh\+:\+:Open\+Volume\+Mesh\+Base\+Property Class Reference}
\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty}\index{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Base\+Property@{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Base\+Property}}


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

Inheritance diagram for Open\+Volume\+Mesh\+:\+:Open\+Volume\+Mesh\+Base\+Property\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_abb61a62dc487681077faeb6e321ad438}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_abb61a62dc487681077faeb6e321ad438}} 
{\bfseries Open\+Volume\+Mesh\+Base\+Property} (const std\+::string \&\+\_\+name, const std\+::string \&\+\_\+internal\+\_\+type\+\_\+name)
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_ac6c99c9edb68c741afa2be4f2b792188}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_ac6c99c9edb68c741afa2be4f2b792188}} 
{\bfseries Open\+Volume\+Mesh\+Base\+Property} (const \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty}{Open\+Volume\+Mesh\+Base\+Property} \&\+\_\+rhs)=default
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_ae3eb683303cdcdb44cd764419131600e}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_ae3eb683303cdcdb44cd764419131600e}} 
virtual void \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_ae3eb683303cdcdb44cd764419131600e}{reserve} (size\+\_\+t \+\_\+n)=0
\begin{DoxyCompactList}\small\item\em Reserve memory for n elements. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a23da4debcb2f5e1c61e9b9e0e98b515b}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a23da4debcb2f5e1c61e9b9e0e98b515b}} 
virtual void \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a23da4debcb2f5e1c61e9b9e0e98b515b}{resize} (size\+\_\+t \+\_\+n)=0
\begin{DoxyCompactList}\small\item\em Resize storage to hold n elements. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_abc4a999d58debccf081134031280a065}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_abc4a999d58debccf081134031280a065}} 
virtual size\+\_\+t \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_abc4a999d58debccf081134031280a065}{size} () const =0
\begin{DoxyCompactList}\small\item\em Return underlying container size. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a17d30d6e131d67fc2d892e9f589efdb4}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a17d30d6e131d67fc2d892e9f589efdb4}} 
virtual void \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a17d30d6e131d67fc2d892e9f589efdb4}{clear} ()=0
\begin{DoxyCompactList}\small\item\em Clear all elements and free memory. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a9997ff6859a40870e9f45ebc1a9c8286}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a9997ff6859a40870e9f45ebc1a9c8286}} 
virtual void \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a9997ff6859a40870e9f45ebc1a9c8286}{push\+\_\+back} ()=0
\begin{DoxyCompactList}\small\item\em Extend the number of elements by one. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a24111e6dd4883e082581852868e09227}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a24111e6dd4883e082581852868e09227}} 
virtual void \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a24111e6dd4883e082581852868e09227}{swap} (size\+\_\+t \+\_\+i0, size\+\_\+t \+\_\+i1)=0
\begin{DoxyCompactList}\small\item\em Let two elements swap their storage place. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a312a73e28ee8b77958acee7d700a8076}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a312a73e28ee8b77958acee7d700a8076}} 
virtual void \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a312a73e28ee8b77958acee7d700a8076}{delete\+\_\+element} (size\+\_\+t \+\_\+idx)=0
\begin{DoxyCompactList}\small\item\em Erase an element of the vector. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a926ec8574be60cfbd8960a61fbef5069}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a926ec8574be60cfbd8960a61fbef5069}} 
virtual \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty}{Open\+Volume\+Mesh\+Base\+Property} $\ast$ \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a926ec8574be60cfbd8960a61fbef5069}{clone} () const =0
\begin{DoxyCompactList}\small\item\em Return a deep copy of self. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_aac10f5b598436aa74d0dc68336dfe727}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_aac10f5b598436aa74d0dc68336dfe727}} 
const std\+::string \& \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_aac10f5b598436aa74d0dc68336dfe727}{name} () const
\begin{DoxyCompactList}\small\item\em Return the name of the property. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a65ef0e791cd3c7fc51f1419d7bb8c419}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a65ef0e791cd3c7fc51f1419d7bb8c419}} 
const std\+::string \& {\bfseries internal\+\_\+type\+\_\+name} () const
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_af60a084ec03991c545f7a7407d63cc63}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_af60a084ec03991c545f7a7407d63cc63}} 
virtual void {\bfseries serialize} (std\+::ostream \&) const
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a317c856d949326e641b09a9edf10eba2}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a317c856d949326e641b09a9edf10eba2}} 
virtual void {\bfseries deserialize} (std\+::istream \&)
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a76b8913f7b38fd79f46cbe565691983d}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a76b8913f7b38fd79f46cbe565691983d}} 
void {\bfseries set\+\_\+persistent} (bool \+\_\+persistent)
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_adc58d10698cb55a0a78bca13385e6bff}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_adc58d10698cb55a0a78bca13385e6bff}} 
bool {\bfseries persistent} () const
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a267205077d4ad1984275ddeeeb1a0aa7}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a267205077d4ad1984275ddeeeb1a0aa7}} 
virtual size\+\_\+t \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a267205077d4ad1984275ddeeeb1a0aa7}{n\+\_\+elements} () const =0
\begin{DoxyCompactList}\small\item\em Number of elements in property. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_ad6ab5c5f9bd84b9145e01c9979218dad}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_ad6ab5c5f9bd84b9145e01c9979218dad}} 
virtual size\+\_\+t \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_ad6ab5c5f9bd84b9145e01c9979218dad}{element\+\_\+size} () const =0
\begin{DoxyCompactList}\small\item\em Size of one element in bytes or Unknown\+Size if not known. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a57323133674dbcaca383dfb82d7b1e16}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a57323133674dbcaca383dfb82d7b1e16}} 
virtual size\+\_\+t \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a57323133674dbcaca383dfb82d7b1e16}{size\+\_\+of} () const
\begin{DoxyCompactList}\small\item\em Return size of property in bytes. \end{DoxyCompactList}\item 
virtual size\+\_\+t \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_aa4d065980ebc144dc313f2dc6837886f}{size\+\_\+of} (size\+\_\+t \+\_\+n\+\_\+elem) const
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a185fac0bdabc5d5c0a30a0f52d582bb8}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a185fac0bdabc5d5c0a30a0f52d582bb8}} 
const \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshHandle}{Open\+Volume\+Mesh\+Handle} \& {\bfseries handle} () const
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a4db96fefc8e66a2cd19ab36b4301c8ae}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a4db96fefc8e66a2cd19ab36b4301c8ae}} 
void {\bfseries set\+\_\+handle} (const \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshHandle}{Open\+Volume\+Mesh\+Handle} \&\+\_\+handle)
\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a0e4cd176e92b7057a87ebee40f1c91b6}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a0e4cd176e92b7057a87ebee40f1c91b6}} 
static const size\+\_\+t \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a0e4cd176e92b7057a87ebee40f1c91b6}{Unknown\+Size} = std\+::numeric\+\_\+limits$<$size\+\_\+t$>$\+::max()
\begin{DoxyCompactList}\small\item\em Indicates an error when a size is returned by a member. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a3a41692063529ed4214ca89afd2d3caf}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a3a41692063529ed4214ca89afd2d3caf}} 
virtual void \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a3a41692063529ed4214ca89afd2d3caf}{delete\+\_\+multiple\+\_\+entries} (const std\+::vector$<$ bool $>$ \&)=0
\begin{DoxyCompactList}\small\item\em Delete multiple entries in list. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_ac10811c0c5d43a4d1e0077acbde4fa20}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_ac10811c0c5d43a4d1e0077acbde4fa20}} 
std\+::string {\bfseries name\+\_\+}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a9c4b6e26d123faced3e3f97f588fe080}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a9c4b6e26d123faced3e3f97f588fe080}} 
std\+::string {\bfseries internal\+\_\+type\+\_\+name\+\_\+}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a1a2fb7b34e6187e030a66cbfb52c7039}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a1a2fb7b34e6187e030a66cbfb52c7039}} 
bool {\bfseries persistent\+\_\+}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a42e7298f98cc51e520e293e178ddd2c9}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a42e7298f98cc51e520e293e178ddd2c9}} 
\hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshHandle}{Open\+Volume\+Mesh\+Handle} {\bfseries handle\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a54c1252abc87a78a301e6b6984470408}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a54c1252abc87a78a301e6b6984470408}} 
class {\bfseries Resource\+Manager}
\item 
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a65aa8a1d9c3671d4ba41bcde569b1e76}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_a65aa8a1d9c3671d4ba41bcde569b1e76}} 
{\footnotesize template$<$class PropT , class HandleT $>$ }\\class {\bfseries Property\+Ptr}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Abstract class defining the basic interface of a dynamic property. 

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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_aa4d065980ebc144dc313f2dc6837886f}\label{classOpenVolumeMesh_1_1OpenVolumeMeshBaseProperty_aa4d065980ebc144dc313f2dc6837886f}} 
\index{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Base\+Property@{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Base\+Property}!size\+\_\+of@{size\+\_\+of}}
\index{size\+\_\+of@{size\+\_\+of}!Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Base\+Property@{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Base\+Property}}
\subsubsection{\texorpdfstring{size\+\_\+of()}{size\_of()}}
{\footnotesize\ttfamily virtual size\+\_\+t Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Base\+Property\+::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 in \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshPropertyT_a0090181fc72a7e6a108436c183cc44e8}{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Property\+T$<$ T $>$}, \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshPropertyT_ae22c70cdf51d861fc753199091263272}{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Property\+T$<$ T $>$}, and \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshPropertyT_a82be1d6361ae32aaf9f40b20532e0f80}{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Property\+T$<$ T $>$}.



Definition at line 135 of file Open\+Volume\+Mesh\+Base\+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/Open\+Volume\+Mesh\+Base\+Property.\+hh\item 
Type-\/\+Open\+Volume\+Mesh/libs/\+Open\+Volume\+Mesh/src/\+Open\+Volume\+Mesh/\+Core/Open\+Volume\+Mesh\+Base\+Property.\+cc\end{DoxyCompactItemize}
