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


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

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

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

\item 
\hypertarget{a01044_aaa95a988d3d1bfd5629e7004199f7051}{typedef std\+::string {\bfseries value\+\_\+type}}\label{a01044_aaa95a988d3d1bfd5629e7004199f7051}

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

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

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

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

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

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

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

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

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

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

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

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

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

\begin{DoxyCompactList}\small\item\em Store self as one binary block. Max. length of a string is 65535 bytes. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{a01044_a619e87f5a601b4c4007a91ffc58c6bb6}{restore} (std\+::istream \&\+\_\+istr, bool \+\_\+swap)
\item 
\hypertarget{a01044_a71c94c36d158d7a0174bfa26f192704c}{const value\+\_\+type $\ast$ {\bfseries data} () const }\label{a01044_a71c94c36d158d7a0174bfa26f192704c}

\item 
\hypertarget{a01044_a14a2db9eb8b2517eb91584fb2ebd3716}{reference \hyperlink{a01044_a14a2db9eb8b2517eb91584fb2ebd3716}{operator\mbox{[}$\,$\mbox{]}} (int \+\_\+idx)}\label{a01044_a14a2db9eb8b2517eb91584fb2ebd3716}

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

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

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

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


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

Property specialization for std\+::string type. 

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



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

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



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

\hypertarget{a01044_a0d9bb02308869542552eca53d041097e}{\index{Open\+Mesh\+::\+Property\+T$<$ std\+::string $>$@{Open\+Mesh\+::\+Property\+T$<$ std\+::string $>$}!set\+\_\+persistent@{set\+\_\+persistent}}
\index{set\+\_\+persistent@{set\+\_\+persistent}!Open\+Mesh\+::\+Property\+T$<$ std\+::string $>$@{Open\+Mesh\+::\+Property\+T$<$ std\+::string $>$}}
\subsubsection[{set\+\_\+persistent}]{\setlength{\rightskip}{0pt plus 5cm}virtual void {\bf Open\+Mesh\+::\+Property\+T}$<$ std\+::string $>$\+::set\+\_\+persistent (
\begin{DoxyParamCaption}
\item[{bool}]{\+\_\+yn}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a01044_a0d9bb02308869542552eca53d041097e}
Enable or disable persistency. Self must be a named property to enable persistency. 

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



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

\hypertarget{a01044_a6cf700204b62c1d00c36eda2a00e7f9c}{\index{Open\+Mesh\+::\+Property\+T$<$ std\+::string $>$@{Open\+Mesh\+::\+Property\+T$<$ std\+::string $>$}!size\+\_\+of@{size\+\_\+of}}
\index{size\+\_\+of@{size\+\_\+of}!Open\+Mesh\+::\+Property\+T$<$ std\+::string $>$@{Open\+Mesh\+::\+Property\+T$<$ std\+::string $>$}}
\subsubsection[{size\+\_\+of}]{\setlength{\rightskip}{0pt plus 5cm}virtual size\+\_\+t {\bf Open\+Mesh\+::\+Property\+T}$<$ std\+::string $>$\+::size\+\_\+of (
\begin{DoxyParamCaption}
\item[{size\+\_\+t}]{\+\_\+n\+\_\+elem}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a01044_a6cf700204b62c1d00c36eda2a00e7f9c}
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 428 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}
