\hypertarget{class_ogre_1_1_user_object_bindings}{}\doxysection{Ogre\+::User\+Object\+Bindings Class Reference}
\label{class_ogre_1_1_user_object_bindings}\index{Ogre::UserObjectBindings@{Ogre::UserObjectBindings}}


Class that provides convenient interface to establish a linkage between custom user application objects and \mbox{\hyperlink{namespace_ogre}{Ogre}} core classes.  




{\ttfamily \#include $<$Ogre\+User\+Object\+Bindings.\+h$>$}



Inheritance diagram for Ogre\+::User\+Object\+Bindings\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=222pt]{class_ogre_1_1_user_object_bindings__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_user_object_bindings_a3458021eb816ffac7f6ba384b7c04634}{User\+Object\+Bindings}} ()=default
\item 
\mbox{\hyperlink{class_ogre_1_1_user_object_bindings_a35eb81ef1cd2c2378e0a6eecd6471811}{User\+Object\+Bindings}} (const \mbox{\hyperlink{class_ogre_1_1_user_object_bindings}{User\+Object\+Bindings}} \&other)
\begin{DoxyCompactList}\small\item\em Copy constructor. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_user_object_bindings_a5350db0cd5c635a63ebc43e976ad2750}{clear}} ()
\begin{DoxyCompactList}\small\item\em Clear all user objects from this binding. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_user_object_bindings_a9617cc379147ea7e5e316c1caf44f05f}{erase\+User\+Any}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&key)
\begin{DoxyCompactList}\small\item\em Erase the custom user object associated with this class and key from this binding. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{class_ogre_1_1_any}{Any}} \& \mbox{\hyperlink{class_ogre_1_1_user_object_bindings_ab51f11331f9db1f00f2d1aad05472d79}{get\+User\+Any}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&key) const
\begin{DoxyCompactList}\small\item\em Retrieves the custom user object associated with this class and key. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{class_ogre_1_1_any}{Any}} \& \mbox{\hyperlink{class_ogre_1_1_user_object_bindings_a7b0c9bd7cf25e2d95aea3ee5138ef5b5}{get\+User\+Any}} (void) const
\begin{DoxyCompactList}\small\item\em Retrieves the custom key less user object associated with this class. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_user_object_bindings}{User\+Object\+Bindings}} \& \mbox{\hyperlink{class_ogre_1_1_user_object_bindings_ad28b6b4dd34c04d83cd95316b711f6e5}{operator=}} (const \mbox{\hyperlink{class_ogre_1_1_user_object_bindings}{User\+Object\+Bindings}} \&rhs)
\item 
void \mbox{\hyperlink{class_ogre_1_1_user_object_bindings_ac6d05bbca44c5c3b44860c36205f9a68}{set\+User\+Any}} (const \mbox{\hyperlink{class_ogre_1_1_any}{Any}} \&anything)
\begin{DoxyCompactList}\small\item\em Sets any kind of user object on this class instance. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_user_object_bindings_a3c01d7c2b562b39487fff224e89bf4b6}{set\+User\+Any}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&key, const \mbox{\hyperlink{class_ogre_1_1_any}{Any}} \&anything)
\begin{DoxyCompactList}\small\item\em Sets any kind of user object on this class instance. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_user_object_bindings}{User\+Object\+Bindings}} \& \mbox{\hyperlink{class_ogre_1_1_user_object_bindings_aab07608a5a5f50b262a76e6aa3099928}{swap}} (\mbox{\hyperlink{class_ogre_1_1_user_object_bindings}{User\+Object\+Bindings}} \&rhs)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Class that provides convenient interface to establish a linkage between custom user application objects and \mbox{\hyperlink{namespace_ogre}{Ogre}} core classes. 

\mbox{\hyperlink{class_ogre_1_1_any}{Any}} instance of \mbox{\hyperlink{namespace_ogre}{Ogre}} class that will derive from this class could be associated with custom application object using this class interface. 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_user_object_bindings_a3458021eb816ffac7f6ba384b7c04634}\label{class_ogre_1_1_user_object_bindings_a3458021eb816ffac7f6ba384b7c04634}} 
\index{Ogre::UserObjectBindings@{Ogre::UserObjectBindings}!UserObjectBindings@{UserObjectBindings}}
\index{UserObjectBindings@{UserObjectBindings}!Ogre::UserObjectBindings@{Ogre::UserObjectBindings}}
\doxysubsubsection{\texorpdfstring{UserObjectBindings()}{UserObjectBindings()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Ogre\+::\+User\+Object\+Bindings\+::\+User\+Object\+Bindings (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}}

\mbox{\Hypertarget{class_ogre_1_1_user_object_bindings_a35eb81ef1cd2c2378e0a6eecd6471811}\label{class_ogre_1_1_user_object_bindings_a35eb81ef1cd2c2378e0a6eecd6471811}} 
\index{Ogre::UserObjectBindings@{Ogre::UserObjectBindings}!UserObjectBindings@{UserObjectBindings}}
\index{UserObjectBindings@{UserObjectBindings}!Ogre::UserObjectBindings@{Ogre::UserObjectBindings}}
\doxysubsubsection{\texorpdfstring{UserObjectBindings()}{UserObjectBindings()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Ogre\+::\+User\+Object\+Bindings\+::\+User\+Object\+Bindings (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_user_object_bindings}{User\+Object\+Bindings}} \&}]{other }\end{DoxyParamCaption})}



Copy constructor. 

Performs a copy of all stored User\+Any. 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_user_object_bindings_ac6d05bbca44c5c3b44860c36205f9a68}\label{class_ogre_1_1_user_object_bindings_ac6d05bbca44c5c3b44860c36205f9a68}} 
\index{Ogre::UserObjectBindings@{Ogre::UserObjectBindings}!setUserAny@{setUserAny}}
\index{setUserAny@{setUserAny}!Ogre::UserObjectBindings@{Ogre::UserObjectBindings}}
\doxysubsubsection{\texorpdfstring{setUserAny()}{setUserAny()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+User\+Object\+Bindings\+::set\+User\+Any (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_any}{Any}} \&}]{anything }\end{DoxyParamCaption})}



Sets any kind of user object on this class instance. 

\begin{DoxyRemark}{Remarks}
This method allows you to associate any user object you like with this class. This can be a pointer back to one of your own classes for instance. 
\end{DoxyRemark}
\begin{DoxyNote}{Note}
This method is key less meaning that each call for it will override previous object that were set. If you need to associate multiple objects with this class use the extended version that takes key. 
\end{DoxyNote}
\mbox{\Hypertarget{class_ogre_1_1_user_object_bindings_a7b0c9bd7cf25e2d95aea3ee5138ef5b5}\label{class_ogre_1_1_user_object_bindings_a7b0c9bd7cf25e2d95aea3ee5138ef5b5}} 
\index{Ogre::UserObjectBindings@{Ogre::UserObjectBindings}!getUserAny@{getUserAny}}
\index{getUserAny@{getUserAny}!Ogre::UserObjectBindings@{Ogre::UserObjectBindings}}
\doxysubsubsection{\texorpdfstring{getUserAny()}{getUserAny()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{class_ogre_1_1_any}{Any}}\& Ogre\+::\+User\+Object\+Bindings\+::get\+User\+Any (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}



Retrieves the custom key less user object associated with this class. 

\mbox{\Hypertarget{class_ogre_1_1_user_object_bindings_a3c01d7c2b562b39487fff224e89bf4b6}\label{class_ogre_1_1_user_object_bindings_a3c01d7c2b562b39487fff224e89bf4b6}} 
\index{Ogre::UserObjectBindings@{Ogre::UserObjectBindings}!setUserAny@{setUserAny}}
\index{setUserAny@{setUserAny}!Ogre::UserObjectBindings@{Ogre::UserObjectBindings}}
\doxysubsubsection{\texorpdfstring{setUserAny()}{setUserAny()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Ogre\+::\+User\+Object\+Bindings\+::set\+User\+Any (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{key,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_any}{Any}} \&}]{anything }\end{DoxyParamCaption})}



Sets any kind of user object on this class instance. 

\begin{DoxyRemark}{Remarks}
This method allows you to associate multiple object with this class. This can be a pointer back to one of your own classes for instance. Use a unique key to distinguish between each of these objects. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em key} & The key that this data is associate with. \\
\hline
{\em anything} & The data to associate with the given key. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_user_object_bindings_ab51f11331f9db1f00f2d1aad05472d79}\label{class_ogre_1_1_user_object_bindings_ab51f11331f9db1f00f2d1aad05472d79}} 
\index{Ogre::UserObjectBindings@{Ogre::UserObjectBindings}!getUserAny@{getUserAny}}
\index{getUserAny@{getUserAny}!Ogre::UserObjectBindings@{Ogre::UserObjectBindings}}
\doxysubsubsection{\texorpdfstring{getUserAny()}{getUserAny()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{class_ogre_1_1_any}{Any}}\& Ogre\+::\+User\+Object\+Bindings\+::get\+User\+Any (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{key }\end{DoxyParamCaption}) const}



Retrieves the custom user object associated with this class and key. 


\begin{DoxyParams}{Parameters}
{\em key} & The key that the requested user object is associated with. \\
\hline
\end{DoxyParams}
\begin{DoxyRemark}{Remarks}
In case no object associated with this key the returned \mbox{\hyperlink{class_ogre_1_1_any}{Any}} object will be empty. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_user_object_bindings_a9617cc379147ea7e5e316c1caf44f05f}\label{class_ogre_1_1_user_object_bindings_a9617cc379147ea7e5e316c1caf44f05f}} 
\index{Ogre::UserObjectBindings@{Ogre::UserObjectBindings}!eraseUserAny@{eraseUserAny}}
\index{eraseUserAny@{eraseUserAny}!Ogre::UserObjectBindings@{Ogre::UserObjectBindings}}
\doxysubsubsection{\texorpdfstring{eraseUserAny()}{eraseUserAny()}}
{\footnotesize\ttfamily void Ogre\+::\+User\+Object\+Bindings\+::erase\+User\+Any (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{key }\end{DoxyParamCaption})}



Erase the custom user object associated with this class and key from this binding. 


\begin{DoxyParams}{Parameters}
{\em key} & The key that the requested user object is associated with. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_user_object_bindings_a5350db0cd5c635a63ebc43e976ad2750}\label{class_ogre_1_1_user_object_bindings_a5350db0cd5c635a63ebc43e976ad2750}} 
\index{Ogre::UserObjectBindings@{Ogre::UserObjectBindings}!clear@{clear}}
\index{clear@{clear}!Ogre::UserObjectBindings@{Ogre::UserObjectBindings}}
\doxysubsubsection{\texorpdfstring{clear()}{clear()}}
{\footnotesize\ttfamily void Ogre\+::\+User\+Object\+Bindings\+::clear (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Clear all user objects from this binding. 

~\newline
 \mbox{\Hypertarget{class_ogre_1_1_user_object_bindings_aab07608a5a5f50b262a76e6aa3099928}\label{class_ogre_1_1_user_object_bindings_aab07608a5a5f50b262a76e6aa3099928}} 
\index{Ogre::UserObjectBindings@{Ogre::UserObjectBindings}!swap@{swap}}
\index{swap@{swap}!Ogre::UserObjectBindings@{Ogre::UserObjectBindings}}
\doxysubsubsection{\texorpdfstring{swap()}{swap()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_user_object_bindings}{User\+Object\+Bindings}}\& Ogre\+::\+User\+Object\+Bindings\+::swap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_user_object_bindings}{User\+Object\+Bindings}} \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



References std\+::swap().



Referenced by operator=().

\mbox{\Hypertarget{class_ogre_1_1_user_object_bindings_ad28b6b4dd34c04d83cd95316b711f6e5}\label{class_ogre_1_1_user_object_bindings_ad28b6b4dd34c04d83cd95316b711f6e5}} 
\index{Ogre::UserObjectBindings@{Ogre::UserObjectBindings}!operator=@{operator=}}
\index{operator=@{operator=}!Ogre::UserObjectBindings@{Ogre::UserObjectBindings}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_user_object_bindings}{User\+Object\+Bindings}}\& Ogre\+::\+User\+Object\+Bindings\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_user_object_bindings}{User\+Object\+Bindings}} \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



References swap().



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_user_object_bindings_8h}{Ogre\+User\+Object\+Bindings.\+h}}\end{DoxyCompactItemize}
