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


{\ttfamily \#include $<$Open\+Flipper/libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+Utils/\+Property.\+hh$>$}

Inheritance diagram for Open\+Mesh\+:\+:PropertyT$<$ bool $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classOpenMesh_1_1PropertyT_3_01bool_01_4}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_a7bf4b00eb41ecf61d4d926f9e513786b}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_a7bf4b00eb41ecf61d4d926f9e513786b}} 
typedef std\+::vector$<$ bool $>$ {\bfseries vector\+\_\+type}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_ac542398d98d4f6077fa9d393fd5f751f}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_ac542398d98d4f6077fa9d393fd5f751f}} 
typedef bool {\bfseries value\+\_\+type}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_ac5c41794ade9a4641203d800e1d40d4f}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_ac5c41794ade9a4641203d800e1d40d4f}} 
typedef vector\+\_\+type\+::reference {\bfseries reference}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_a3c2060a3e8a971464fe5339adcf187c4}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_a3c2060a3e8a971464fe5339adcf187c4}} 
typedef vector\+\_\+type\+::const\+\_\+reference {\bfseries const\+\_\+reference}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_a1b27461451dcaa9c59c551a10c045fc0}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_a1b27461451dcaa9c59c551a10c045fc0}} 
{\bfseries PropertyT} (const std\+::string \&\+\_\+name=\char`\"{}$<$unknown$>$\char`\"{}, const std\+::string \&\+\_\+internal\+\_\+type\+\_\+name=\char`\"{}\char`\"{})
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_abf51db1f5e7d2b240b7c462c007d143e}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_abf51db1f5e7d2b240b7c462c007d143e}} 
virtual void \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_abf51db1f5e7d2b240b7c462c007d143e}{reserve} (size\+\_\+t \+\_\+n) override
\begin{DoxyCompactList}\small\item\em Reserve memory for n elements. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_ac3d3bd87de48b005ee409b34ddde0043}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_ac3d3bd87de48b005ee409b34ddde0043}} 
virtual void \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_ac3d3bd87de48b005ee409b34ddde0043}{resize} (size\+\_\+t \+\_\+n) override
\begin{DoxyCompactList}\small\item\em Resize storage to hold n elements. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_a7e9f0c6f87e2300e761a446f5f7be029}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_a7e9f0c6f87e2300e761a446f5f7be029}} 
virtual void \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_a7e9f0c6f87e2300e761a446f5f7be029}{clear} () override
\begin{DoxyCompactList}\small\item\em Clear all elements and free memory. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_a1317e1151bf6eaffe4d03e039293b899}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_a1317e1151bf6eaffe4d03e039293b899}} 
virtual void \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_a1317e1151bf6eaffe4d03e039293b899}{push\+\_\+back} () override
\begin{DoxyCompactList}\small\item\em Extend the number of elements by one. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_aea8b42d5e94827335fc0bac4ea99f9ae}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_aea8b42d5e94827335fc0bac4ea99f9ae}} 
virtual void \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_aea8b42d5e94827335fc0bac4ea99f9ae}{swap} (size\+\_\+t \+\_\+i0, size\+\_\+t \+\_\+i1) override
\begin{DoxyCompactList}\small\item\em Let two elements swap their storage place. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_a42225f5a779dce58ad04fbcc3b7d3d59}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_a42225f5a779dce58ad04fbcc3b7d3d59}} 
virtual void \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_a42225f5a779dce58ad04fbcc3b7d3d59}{copy} (size\+\_\+t \+\_\+i0, size\+\_\+t \+\_\+i1) override
\begin{DoxyCompactList}\small\item\em Copy one element to another. \end{DoxyCompactList}\item 
virtual void \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_a1769aa4f336856f94ea9fc4dc3e47e3d}{set\+\_\+persistent} (bool \+\_\+yn) override
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_a9908899bbbc9cccc94fe2c4806385607}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_a9908899bbbc9cccc94fe2c4806385607}} 
virtual size\+\_\+t \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_a9908899bbbc9cccc94fe2c4806385607}{n\+\_\+elements} () const override
\begin{DoxyCompactList}\small\item\em Number of elements in property. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_af7ea88004f218b71857a437dbbcf4189}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_af7ea88004f218b71857a437dbbcf4189}} 
virtual size\+\_\+t \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_af7ea88004f218b71857a437dbbcf4189}{element\+\_\+size} () const override
\begin{DoxyCompactList}\small\item\em Size of one element in bytes or Unknown\+Size if not known. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_a923a90b006ce97891cac9a55ef91f685}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_a923a90b006ce97891cac9a55ef91f685}} 
virtual size\+\_\+t \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_a923a90b006ce97891cac9a55ef91f685}{size\+\_\+of} () const override
\begin{DoxyCompactList}\small\item\em Return size of property in bytes. \end{DoxyCompactList}\item 
virtual size\+\_\+t \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_aa80cd555d7b09b6ede1e00bdc325a7d4}{size\+\_\+of} (size\+\_\+t \+\_\+n\+\_\+elem) const override
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_af19e1834d604817c623249ac52c685d2}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_af19e1834d604817c623249ac52c685d2}} 
size\+\_\+t \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_af19e1834d604817c623249ac52c685d2}{store} (std\+::ostream \&\+\_\+ostr, bool) const override
\begin{DoxyCompactList}\small\item\em Store self as one binary block. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_a672cdeda99942048481f23299d06af61}{restore} (std\+::istream \&\+\_\+istr, bool) override
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_a3410cc28e92d32be24a56f48e5d9679e}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_a3410cc28e92d32be24a56f48e5d9679e}} 
vector\+\_\+type \& \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_a3410cc28e92d32be24a56f48e5d9679e}{data\+\_\+vector} ()
\begin{DoxyCompactList}\small\item\em Get reference to property vector (be careful, improper usage, e.\+g. resizing, may crash Open\+Mesh!!!) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_aeb232124fd12c10c4713f7ce19724648}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_aeb232124fd12c10c4713f7ce19724648}} 
const vector\+\_\+type \& \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_aeb232124fd12c10c4713f7ce19724648}{data\+\_\+vector} () const
\begin{DoxyCompactList}\small\item\em Const access to property vector. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_a26861d26da93031960c7280b7bc32774}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_a26861d26da93031960c7280b7bc32774}} 
reference \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_a26861d26da93031960c7280b7bc32774}{operator\mbox{[}$\,$\mbox{]}} (int \+\_\+idx)
\begin{DoxyCompactList}\small\item\em Access the i\textquotesingle{}th element. No range check is performed! \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_a667c44463226dc6a93e19f5883648d49}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_a667c44463226dc6a93e19f5883648d49}} 
const\+\_\+reference \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_a667c44463226dc6a93e19f5883648d49}{operator\mbox{[}$\,$\mbox{]}} (int \+\_\+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{classOpenMesh_1_1PropertyT_3_01bool_01_4_a95f357f2c2b076c7c1473ad315aaa328}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_a95f357f2c2b076c7c1473ad315aaa328}} 
\hyperlink{classOpenMesh_1_1PropertyT}{PropertyT}$<$ bool $>$ $\ast$ \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_a95f357f2c2b076c7c1473ad315aaa328}{clone} () const override
\begin{DoxyCompactList}\small\item\em Make a copy of self. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_aeb6bb56c75c01e0c08c059c06ee79126}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_aeb6bb56c75c01e0c08c059c06ee79126}} 
vector\+\_\+type {\bfseries data\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


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

Property specialization for bool type.

The data will be stored as a bitset. 

Definition at line 224 of file Property.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_a672cdeda99942048481f23299d06af61}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_a672cdeda99942048481f23299d06af61}} 
\index{Open\+Mesh\+::\+Property\+T$<$ bool $>$@{Open\+Mesh\+::\+Property\+T$<$ bool $>$}!restore@{restore}}
\index{restore@{restore}!Open\+Mesh\+::\+Property\+T$<$ bool $>$@{Open\+Mesh\+::\+Property\+T$<$ bool $>$}}
\subsubsection{\texorpdfstring{restore()}{restore()}}
{\footnotesize\ttfamily size\+\_\+t \hyperlink{classOpenMesh_1_1PropertyT}{Open\+Mesh\+::\+PropertyT}$<$ bool $>$\+::restore (\begin{DoxyParamCaption}\item[{std\+::istream \&}]{\+\_\+istr,  }\item[{bool}]{\+\_\+swap }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [virtual]}}

Restore self from a binary block. Uses \hyperlink{classOpenMesh_1_1PropertyT_3_01bool_01_4_abf51db1f5e7d2b240b7c462c007d143e}{reserve()} to set the size of self before restoring. 

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



Definition at line 304 of file Property.\+hh.

\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_a1769aa4f336856f94ea9fc4dc3e47e3d}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_a1769aa4f336856f94ea9fc4dc3e47e3d}} 
\index{Open\+Mesh\+::\+Property\+T$<$ bool $>$@{Open\+Mesh\+::\+Property\+T$<$ bool $>$}!set\+\_\+persistent@{set\+\_\+persistent}}
\index{set\+\_\+persistent@{set\+\_\+persistent}!Open\+Mesh\+::\+Property\+T$<$ bool $>$@{Open\+Mesh\+::\+Property\+T$<$ bool $>$}}
\subsubsection{\texorpdfstring{set\+\_\+persistent()}{set\_persistent()}}
{\footnotesize\ttfamily virtual void \hyperlink{classOpenMesh_1_1PropertyT}{Open\+Mesh\+::\+PropertyT}$<$ bool $>$\+::set\+\_\+persistent (\begin{DoxyParamCaption}\item[{bool}]{\+\_\+yn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [virtual]}}

Enable or disable persistency. Self must be a named property to enable persistency. 

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



Definition at line 252 of file Property.\+hh.

\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01bool_01_4_aa80cd555d7b09b6ede1e00bdc325a7d4}\label{classOpenMesh_1_1PropertyT_3_01bool_01_4_aa80cd555d7b09b6ede1e00bdc325a7d4}} 
\index{Open\+Mesh\+::\+Property\+T$<$ bool $>$@{Open\+Mesh\+::\+Property\+T$<$ bool $>$}!size\+\_\+of@{size\+\_\+of}}
\index{size\+\_\+of@{size\+\_\+of}!Open\+Mesh\+::\+Property\+T$<$ bool $>$@{Open\+Mesh\+::\+Property\+T$<$ bool $>$}}
\subsubsection{\texorpdfstring{size\+\_\+of()}{size\_of()}}
{\footnotesize\ttfamily virtual size\+\_\+t \hyperlink{classOpenMesh_1_1PropertyT}{Open\+Mesh\+::\+PropertyT}$<$ bool $>$\+::size\+\_\+of (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{\+\_\+n\+\_\+elem }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\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{classOpenMesh_1_1BaseProperty_ac13fe04403a9062dff6988b5aadee639}{Open\+Mesh\+::\+Base\+Property}.



Definition at line 260 of file Property.\+hh.



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