\hypertarget{a01028}{\section{Open\+Mesh\+:\+:Property\+Container Class Reference}
\label{a01028}\index{Open\+Mesh\+::\+Property\+Container@{Open\+Mesh\+::\+Property\+Container}}
}


A a container for properties.  




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

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01028_a008a731acf6297b2261964c09e8c69c8}{typedef std\+::vector\\*
$<$ \hyperlink{a00332}{Base\+Property} $\ast$ $>$ {\bfseries Properties}}\label{a01028_a008a731acf6297b2261964c09e8c69c8}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01028_a9926b4e6177e7ceaf395fe207b6d7ee0}{const \hyperlink{a01027}{Properties} \& {\bfseries properties} () const }\label{a01028_a9926b4e6177e7ceaf395fe207b6d7ee0}

\item 
\hypertarget{a01028_a532490323da8724a399c378d9fb6e1fe}{size\+\_\+t {\bfseries size} () const }\label{a01028_a532490323da8724a399c378d9fb6e1fe}

\item 
\hypertarget{a01028_a480b1f8537dfff19668a50dd6e811a44}{{\bfseries Property\+Container} (const \hyperlink{a01028}{Property\+Container} \&\+\_\+rhs)}\label{a01028_a480b1f8537dfff19668a50dd6e811a44}

\item 
\hypertarget{a01028_acd87f048baa409defd80194fafa318d0}{\hyperlink{a01028}{Property\+Container} \& {\bfseries operator=} (const \hyperlink{a01028}{Property\+Container} \&\+\_\+rhs)}\label{a01028_acd87f048baa409defd80194fafa318d0}

\item 
\hypertarget{a01028_aebb7fff20f94177b9535d3a7a3b82644}{{\footnotesize template$<$class T $>$ }\\\hyperlink{a00336}{Base\+Prop\+Handle\+T}$<$ T $>$ {\bfseries add} (const T \&, const std\+::string \&\+\_\+name=\char`\"{}$<$unknown$>$\char`\"{})}\label{a01028_aebb7fff20f94177b9535d3a7a3b82644}

\item 
\hypertarget{a01028_a13452b7bc05f689dd5eb6ee298a3adab}{{\footnotesize template$<$class T $>$ }\\\hyperlink{a00336}{Base\+Prop\+Handle\+T}$<$ T $>$ {\bfseries handle} (const T \&, const std\+::string \&\+\_\+name) const }\label{a01028_a13452b7bc05f689dd5eb6ee298a3adab}

\item 
\hypertarget{a01028_a47b46153a2062ad35874716d0b91b7b9}{\hyperlink{a00332}{Base\+Property} $\ast$ {\bfseries property} (const std\+::string \&\+\_\+name) const }\label{a01028_a47b46153a2062ad35874716d0b91b7b9}

\item 
\hypertarget{a01028_a23c02e8d51fe4b00921dc2378d423310}{{\footnotesize template$<$class T $>$ }\\\hyperlink{a01039}{Property\+T}$<$ T $>$ \& {\bfseries property} (\hyperlink{a00336}{Base\+Prop\+Handle\+T}$<$ T $>$ \+\_\+h)}\label{a01028_a23c02e8d51fe4b00921dc2378d423310}

\item 
\hypertarget{a01028_ae2262843731b5fd31b4d0b98fb3529eb}{{\footnotesize template$<$class T $>$ }\\const \hyperlink{a01039}{Property\+T}$<$ T $>$ \& {\bfseries property} (\hyperlink{a00336}{Base\+Prop\+Handle\+T}$<$ T $>$ \+\_\+h) const }\label{a01028_ae2262843731b5fd31b4d0b98fb3529eb}

\item 
\hypertarget{a01028_a762475aa22ffcb5f383403125fcaa36a}{{\footnotesize template$<$class T $>$ }\\void {\bfseries remove} (\hyperlink{a00336}{Base\+Prop\+Handle\+T}$<$ T $>$ \+\_\+h)}\label{a01028_a762475aa22ffcb5f383403125fcaa36a}

\item 
\hypertarget{a01028_a631e91a7caa30a9b02a5af495e4129b6}{void {\bfseries clear} ()}\label{a01028_a631e91a7caa30a9b02a5af495e4129b6}

\item 
void \hyperlink{a01028_ad0e450f318e5bce93ef24698c24acf42}{reserve} (size\+\_\+t \+\_\+n) const 
\item 
void \hyperlink{a01028_a3df25e822cf0df63c47bb18771c78162}{resize} (size\+\_\+t \+\_\+n) const 
\item 
void \hyperlink{a01028_a3661998d030e95dbb1d5696388c40ed1}{resize\+\_\+if\+\_\+smaller} (size\+\_\+t \+\_\+n) const 
\item 
void \hyperlink{a01028_aea13d22f262c493d59e7ac95a13c4abb}{swap} (size\+\_\+t \+\_\+i0, size\+\_\+t \+\_\+i1) const 
\end{DoxyCompactItemize}
\subsection*{Protected Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01028_a7ef70e4b89bc896b73a9cf5cb4e6f648}{typedef Properties\+::iterator {\bfseries iterator}}\label{a01028_a7ef70e4b89bc896b73a9cf5cb4e6f648}

\item 
\hypertarget{a01028_acb338c72528204d41696e20c01bceee1}{typedef Properties\+::const\+\_\+iterator {\bfseries const\+\_\+iterator}}\label{a01028_acb338c72528204d41696e20c01bceee1}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01028_adefb5baef2ed4ea710819d9494c13508}{size\+\_\+t {\bfseries \+\_\+add} (\hyperlink{a00332}{Base\+Property} $\ast$\+\_\+bp)}\label{a01028_adefb5baef2ed4ea710819d9494c13508}

\item 
\hypertarget{a01028_ac8ce62e64c55183149a9f38068cf4174}{\hyperlink{a00332}{Base\+Property} \& {\bfseries \+\_\+property} (size\+\_\+t \+\_\+idx)}\label{a01028_ac8ce62e64c55183149a9f38068cf4174}

\item 
\hypertarget{a01028_a28343e9729f50b420ab5a9265aabd752}{const \hyperlink{a00332}{Base\+Property} \& {\bfseries \+\_\+property} (size\+\_\+t \+\_\+idx) const }\label{a01028_a28343e9729f50b420ab5a9265aabd752}

\item 
\hypertarget{a01028_ade6a0c922201139f4a01c4f308565bf0}{iterator {\bfseries begin} ()}\label{a01028_ade6a0c922201139f4a01c4f308565bf0}

\item 
\hypertarget{a01028_ab865599d4971b5acda0796ff6a1fee2c}{iterator {\bfseries end} ()}\label{a01028_ab865599d4971b5acda0796ff6a1fee2c}

\item 
\hypertarget{a01028_aadbe2d59330ec0450409cbde4f5082b6}{const\+\_\+iterator {\bfseries begin} () const }\label{a01028_aadbe2d59330ec0450409cbde4f5082b6}

\item 
\hypertarget{a01028_a81ae27c4fa37ad8143a35da568115db5}{const\+\_\+iterator {\bfseries end} () const }\label{a01028_a81ae27c4fa37ad8143a35da568115db5}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01028_a6c3b440e7cc9086c392e77b339b00874}{\hyperlink{a01027}{Properties} {\bfseries properties\+\_\+}}\label{a01028_a6c3b440e7cc9086c392e77b339b00874}

\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01028_a9b82005bcafe1e17389583740fba8c9b}{class {\bfseries Base\+Kernel}}\label{a01028_a9b82005bcafe1e17389583740fba8c9b}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
A a container for properties. 

Definition at line 67 of file Property\+Container.\+hh.



\subsection{Member Function Documentation}
\hypertarget{a01028_ad0e450f318e5bce93ef24698c24acf42}{\index{Open\+Mesh\+::\+Property\+Container@{Open\+Mesh\+::\+Property\+Container}!reserve@{reserve}}
\index{reserve@{reserve}!Open\+Mesh\+::\+Property\+Container@{Open\+Mesh\+::\+Property\+Container}}
\subsubsection[{reserve}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+Property\+Container\+::reserve (
\begin{DoxyParamCaption}
\item[{size\+\_\+t}]{\+\_\+n}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{a01028_ad0e450f318e5bce93ef24698c24acf42}
Reserves space for {\ttfamily \+\_\+n} elements in all property vectors. 

Definition at line 249 of file Property\+Container.\+hh.

\hypertarget{a01028_a3df25e822cf0df63c47bb18771c78162}{\index{Open\+Mesh\+::\+Property\+Container@{Open\+Mesh\+::\+Property\+Container}!resize@{resize}}
\index{resize@{resize}!Open\+Mesh\+::\+Property\+Container@{Open\+Mesh\+::\+Property\+Container}}
\subsubsection[{resize}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+Property\+Container\+::resize (
\begin{DoxyParamCaption}
\item[{size\+\_\+t}]{\+\_\+n}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{a01028_a3df25e822cf0df63c47bb18771c78162}
Resizes all property vectors to the specified size. 

Definition at line 256 of file Property\+Container.\+hh.

\hypertarget{a01028_a3661998d030e95dbb1d5696388c40ed1}{\index{Open\+Mesh\+::\+Property\+Container@{Open\+Mesh\+::\+Property\+Container}!resize\+\_\+if\+\_\+smaller@{resize\+\_\+if\+\_\+smaller}}
\index{resize\+\_\+if\+\_\+smaller@{resize\+\_\+if\+\_\+smaller}!Open\+Mesh\+::\+Property\+Container@{Open\+Mesh\+::\+Property\+Container}}
\subsubsection[{resize\+\_\+if\+\_\+smaller}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+Property\+Container\+::resize\+\_\+if\+\_\+smaller (
\begin{DoxyParamCaption}
\item[{size\+\_\+t}]{\+\_\+n}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{a01028_a3661998d030e95dbb1d5696388c40ed1}
Same as \begin{DoxySeeAlso}{See also}
\hyperlink{a01028_a3df25e822cf0df63c47bb18771c78162}{resize()} but ignores property vectors that have a size larger than {\ttfamily \+\_\+n}.
\end{DoxySeeAlso}
Use this method instead of \begin{DoxySeeAlso}{See also}
\hyperlink{a01028_a3df25e822cf0df63c47bb18771c78162}{resize()} if you plan to frequently reduce and enlarge the property container and you don't want to waste time reallocating the property vectors every time. 
\end{DoxySeeAlso}


Definition at line 268 of file Property\+Container.\+hh.

\hypertarget{a01028_aea13d22f262c493d59e7ac95a13c4abb}{\index{Open\+Mesh\+::\+Property\+Container@{Open\+Mesh\+::\+Property\+Container}!swap@{swap}}
\index{swap@{swap}!Open\+Mesh\+::\+Property\+Container@{Open\+Mesh\+::\+Property\+Container}}
\subsubsection[{swap}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+Property\+Container\+::swap (
\begin{DoxyParamCaption}
\item[{size\+\_\+t}]{\+\_\+i0, }
\item[{size\+\_\+t}]{\+\_\+i1}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{a01028_aea13d22f262c493d59e7ac95a13c4abb}
Swaps the items with index {\ttfamily \+\_\+i0} and index {\ttfamily \+\_\+i1} in all property vectors. 

Definition at line 276 of file Property\+Container.\+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\+Container.\+hh\end{DoxyCompactItemize}
