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


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

Inheritance diagram for Open\+Mesh\+:\+:PropertyT$<$ std\+:\+:string $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_adf93cf31cb1b8d8ea3aa287555bf6749}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_adf93cf31cb1b8d8ea3aa287555bf6749}} 
typedef std\+::string {\bfseries Value}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a363a2490f8c28ea4e9214b693767faa1}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a363a2490f8c28ea4e9214b693767faa1}} 
typedef std\+::vector$<$ std\+::string $>$ {\bfseries vector\+\_\+type}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_aaa95a988d3d1bfd5629e7004199f7051}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_aaa95a988d3d1bfd5629e7004199f7051}} 
typedef std\+::string {\bfseries value\+\_\+type}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a6e97d9358ea9355f12aba395cda910d3}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a6e97d9358ea9355f12aba395cda910d3}} 
typedef vector\+\_\+type\+::reference {\bfseries reference}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a7ffbc226be4830f4f62d8a821420db46}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a7ffbc226be4830f4f62d8a821420db46}} 
typedef vector\+\_\+type\+::const\+\_\+reference {\bfseries const\+\_\+reference}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a59be2e7b192183bdbedea0b698d164a1}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a59be2e7b192183bdbedea0b698d164a1}} 
{\bfseries PropertyT} (const std\+::string \&\+\_\+name=\char`\"{}$<$unknown$>$\char`\"{}, const std\+::string \&\+\_\+internal\+\_\+type\+\_\+name=\char`\"{}\char`\"{})
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a890eddafa3adb531fff28f2bf7c5f307}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a890eddafa3adb531fff28f2bf7c5f307}} 
virtual void \hyperlink{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a890eddafa3adb531fff28f2bf7c5f307}{reserve} (size\+\_\+t \+\_\+n) override
\begin{DoxyCompactList}\small\item\em Reserve memory for n elements. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a804a86813013459ccfac8c37384f9cdc}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a804a86813013459ccfac8c37384f9cdc}} 
virtual void \hyperlink{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a804a86813013459ccfac8c37384f9cdc}{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_01std_1_1string_01_4_ae0c1b6d25393088a616bb7fef77635ac}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_ae0c1b6d25393088a616bb7fef77635ac}} 
virtual void \hyperlink{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_ae0c1b6d25393088a616bb7fef77635ac}{clear} () override
\begin{DoxyCompactList}\small\item\em Clear all elements and free memory. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a15450bcc112cff8c2ea196dd2f2e6cda}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a15450bcc112cff8c2ea196dd2f2e6cda}} 
virtual void \hyperlink{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a15450bcc112cff8c2ea196dd2f2e6cda}{push\+\_\+back} () override
\begin{DoxyCompactList}\small\item\em Extend the number of elements by one. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a52c1da2086531554b15498db1b94361c}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a52c1da2086531554b15498db1b94361c}} 
virtual void \hyperlink{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a52c1da2086531554b15498db1b94361c}{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_01std_1_1string_01_4_a80de9328f402a3f14cb318f4e9b229aa}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a80de9328f402a3f14cb318f4e9b229aa}} 
virtual void \hyperlink{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a80de9328f402a3f14cb318f4e9b229aa}{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_01std_1_1string_01_4_a3f9f474f449fe67dd35c894869cd4144}{set\+\_\+persistent} (bool \+\_\+yn) override
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a1fec95b4b40e5f9da54c192d2402ee45}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a1fec95b4b40e5f9da54c192d2402ee45}} 
virtual size\+\_\+t \hyperlink{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a1fec95b4b40e5f9da54c192d2402ee45}{n\+\_\+elements} () const override
\begin{DoxyCompactList}\small\item\em Number of elements in property. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a212882583e568b0bc786f6fb04bb1f1c}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a212882583e568b0bc786f6fb04bb1f1c}} 
virtual size\+\_\+t \hyperlink{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a212882583e568b0bc786f6fb04bb1f1c}{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_01std_1_1string_01_4_a1f3a88059a0b3aef971241f18b96870c}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a1f3a88059a0b3aef971241f18b96870c}} 
virtual size\+\_\+t \hyperlink{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a1f3a88059a0b3aef971241f18b96870c}{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_01std_1_1string_01_4_a0219a9ec2f38b2fd990b9fb56f75864b}{size\+\_\+of} (size\+\_\+t) const override
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a50ef627824e092592184731c37079023}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a50ef627824e092592184731c37079023}} 
size\+\_\+t \hyperlink{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a50ef627824e092592184731c37079023}{store} (std\+::ostream \&\+\_\+ostr, bool \+\_\+swap) const override
\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{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a5ab167c6e0aefcdc3583a23848e76172}{restore} (std\+::istream \&\+\_\+istr, bool \+\_\+swap) override
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a241f1d270e976982c9411e7eca1ec9ac}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a241f1d270e976982c9411e7eca1ec9ac}} 
const value\+\_\+type $\ast$ {\bfseries data} () const
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a14a2db9eb8b2517eb91584fb2ebd3716}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a14a2db9eb8b2517eb91584fb2ebd3716}} 
reference \hyperlink{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a14a2db9eb8b2517eb91584fb2ebd3716}{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_01std_1_1string_01_4_abdcba111e602ace1dde5d73ea92d76bf}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_abdcba111e602ace1dde5d73ea92d76bf}} 
const\+\_\+reference \hyperlink{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_abdcba111e602ace1dde5d73ea92d76bf}{operator\mbox{[}$\,$\mbox{]}} (int \+\_\+idx) const
\begin{DoxyCompactList}\small\item\em Const access the i\textquotesingle{}th element. No range check is performed! \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a0a7a39a72ee929d702a946d4cc03153c}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a0a7a39a72ee929d702a946d4cc03153c}} 
\hyperlink{classOpenMesh_1_1PropertyT}{PropertyT}$<$ value\+\_\+type $>$ $\ast$ \hyperlink{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a0a7a39a72ee929d702a946d4cc03153c}{clone} () const override
\begin{DoxyCompactList}\small\item\em Return a deep copy of self. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a436e09c245a20cdfe26fb8678de9cc81}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a436e09c245a20cdfe26fb8678de9cc81}} 
vector\+\_\+type {\bfseries data\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


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

Property specialization for std\+::string type. 

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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a5ab167c6e0aefcdc3583a23848e76172}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a5ab167c6e0aefcdc3583a23848e76172}} 
\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{\texorpdfstring{restore()}{restore()}}
{\footnotesize\ttfamily size\+\_\+t \hyperlink{classOpenMesh_1_1PropertyT}{Open\+Mesh\+::\+PropertyT}$<$ std\+::string $>$\+::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_01std_1_1string_01_4_a890eddafa3adb531fff28f2bf7c5f307}{reserve()} to set the size of self before restoring. 

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



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

\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a3f9f474f449fe67dd35c894869cd4144}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a3f9f474f449fe67dd35c894869cd4144}} 
\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{\texorpdfstring{set\+\_\+persistent()}{set\_persistent()}}
{\footnotesize\ttfamily virtual void \hyperlink{classOpenMesh_1_1PropertyT}{Open\+Mesh\+::\+PropertyT}$<$ std\+::string $>$\+::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 417 of file Property.\+hh.

\mbox{\Hypertarget{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a0219a9ec2f38b2fd990b9fb56f75864b}\label{classOpenMesh_1_1PropertyT_3_01std_1_1string_01_4_a0219a9ec2f38b2fd990b9fb56f75864b}} 
\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{\texorpdfstring{size\+\_\+of()}{size\_of()}}
{\footnotesize\ttfamily virtual size\+\_\+t \hyperlink{classOpenMesh_1_1PropertyT}{Open\+Mesh\+::\+PropertyT}$<$ std\+::string $>$\+::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 425 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}
