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


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

Inheritance diagram for Open\+Mesh\+:\+:Property\+T$<$ bool $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a01042}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01042_a7bf4b00eb41ecf61d4d926f9e513786b}{typedef std\+::vector$<$ bool $>$ {\bfseries vector\+\_\+type}}\label{a01042_a7bf4b00eb41ecf61d4d926f9e513786b}

\item 
\hypertarget{a01042_ac542398d98d4f6077fa9d393fd5f751f}{typedef bool {\bfseries value\+\_\+type}}\label{a01042_ac542398d98d4f6077fa9d393fd5f751f}

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

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

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01042_a8565409985afeab2b4358b0ffa74a4d8}{{\bfseries Property\+T} (const std\+::string \&\+\_\+name=\char`\"{}$<$unknown$>$\char`\"{})}\label{a01042_a8565409985afeab2b4358b0ffa74a4d8}

\item 
\hypertarget{a01042_abef752edc279b4292fb1c31f8e8ee154}{virtual void \hyperlink{a01042_abef752edc279b4292fb1c31f8e8ee154}{reserve} (size\+\_\+t \+\_\+n)}\label{a01042_abef752edc279b4292fb1c31f8e8ee154}

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

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

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

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

\begin{DoxyCompactList}\small\item\em Let two elements swap their storage place. \end{DoxyCompactList}\item 
\hypertarget{a01042_ab2903a471f3aa1a7d22394b042f697fb}{virtual void \hyperlink{a01042_ab2903a471f3aa1a7d22394b042f697fb}{copy} (size\+\_\+t \+\_\+i0, size\+\_\+t \+\_\+i1)}\label{a01042_ab2903a471f3aa1a7d22394b042f697fb}

\begin{DoxyCompactList}\small\item\em Copy one element to another. \end{DoxyCompactList}\item 
virtual void \hyperlink{a01042_aede7a8a5b614c7cd594c13f689ef716e}{set\+\_\+persistent} (bool \+\_\+yn)
\item 
\hypertarget{a01042_aea43d2cde5568fc18602b7c3f6998904}{virtual size\+\_\+t \hyperlink{a01042_aea43d2cde5568fc18602b7c3f6998904}{n\+\_\+elements} () const }\label{a01042_aea43d2cde5568fc18602b7c3f6998904}

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

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

\begin{DoxyCompactList}\small\item\em Return size of property in bytes. \end{DoxyCompactList}\item 
virtual size\+\_\+t \hyperlink{a01042_a28bba15869fd28a805418da1ada2d838}{size\+\_\+of} (size\+\_\+t \+\_\+n\+\_\+elem) const 
\item 
\hypertarget{a01042_a13ecaf8fd087cce1f3c48fe3b2f978cc}{size\+\_\+t \hyperlink{a01042_a13ecaf8fd087cce1f3c48fe3b2f978cc}{store} (std\+::ostream \&\+\_\+ostr, bool) const }\label{a01042_a13ecaf8fd087cce1f3c48fe3b2f978cc}

\begin{DoxyCompactList}\small\item\em Store self as one binary block. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{a01042_a21d1880f0b89fb9daa1c0c5daed574b1}{restore} (std\+::istream \&\+\_\+istr, bool)
\item 
\hypertarget{a01042_a3410cc28e92d32be24a56f48e5d9679e}{vector\+\_\+type \& \hyperlink{a01042_a3410cc28e92d32be24a56f48e5d9679e}{data\+\_\+vector} ()}\label{a01042_a3410cc28e92d32be24a56f48e5d9679e}

\begin{DoxyCompactList}\small\item\em Get reference to property vector (be careful, improper usage, e.\+g. resizing, may crash Open\+Mesh!!!) \end{DoxyCompactList}\item 
\hypertarget{a01042_a4a2f8b3012e7e147f8961638ff57225a}{const vector\+\_\+type \& \hyperlink{a01042_a4a2f8b3012e7e147f8961638ff57225a}{data\+\_\+vector} () const }\label{a01042_a4a2f8b3012e7e147f8961638ff57225a}

\begin{DoxyCompactList}\small\item\em Const access to property vector. \end{DoxyCompactList}\item 
\hypertarget{a01042_a26861d26da93031960c7280b7bc32774}{reference \hyperlink{a01042_a26861d26da93031960c7280b7bc32774}{operator\mbox{[}$\,$\mbox{]}} (int \+\_\+idx)}\label{a01042_a26861d26da93031960c7280b7bc32774}

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

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

\begin{DoxyCompactList}\small\item\em Make a copy of self. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01042_aeb6bb56c75c01e0c08c059c06ee79126}{vector\+\_\+type {\bfseries data\+\_\+}}\label{a01042_aeb6bb56c75c01e0c08c059c06ee79126}

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


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

Property specialization for bool type.

The data will be stored as a bitset. 

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



\subsection{Member Function Documentation}
\hypertarget{a01042_a21d1880f0b89fb9daa1c0c5daed574b1}{\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[{restore}]{\setlength{\rightskip}{0pt plus 5cm}size\+\_\+t {\bf Open\+Mesh\+::\+Property\+T}$<$ bool $>$\+::restore (
\begin{DoxyParamCaption}
\item[{std\+::istream \&}]{\+\_\+istr, }
\item[{bool}]{\+\_\+swap}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a01042_a21d1880f0b89fb9daa1c0c5daed574b1}
Restore self from a binary block. Uses \hyperlink{a01042_abef752edc279b4292fb1c31f8e8ee154}{reserve()} to set the size of self before restoring. 

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



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

\hypertarget{a01042_aede7a8a5b614c7cd594c13f689ef716e}{\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[{set\+\_\+persistent}]{\setlength{\rightskip}{0pt plus 5cm}virtual void {\bf Open\+Mesh\+::\+Property\+T}$<$ bool $>$\+::set\+\_\+persistent (
\begin{DoxyParamCaption}
\item[{bool}]{\+\_\+yn}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a01042_aede7a8a5b614c7cd594c13f689ef716e}
Enable or disable persistency. Self must be a named property to enable persistency. 

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



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

\hypertarget{a01042_a28bba15869fd28a805418da1ada2d838}{\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[{size\+\_\+of}]{\setlength{\rightskip}{0pt plus 5cm}virtual size\+\_\+t {\bf Open\+Mesh\+::\+Property\+T}$<$ bool $>$\+::size\+\_\+of (
\begin{DoxyParamCaption}
\item[{size\+\_\+t}]{\+\_\+n\+\_\+elem}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a01042_a28bba15869fd28a805418da1ada2d838}
Estimated size of property if it has \+\_\+n\+\_\+elem elements. The member returns Unknown\+Size if the size cannot be estimated. 

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



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



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