\section{eo\-State Class Reference} \label{classeo_state}\index{eoState@{eoState}} eo\-State can be used to register derivants of {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})}. {\tt \#include $<$eo\-State.h$>$} Inheritance diagram for eo\-State::\begin{figure}[H] \begin{center} \leavevmode \includegraphics[height=2cm]{classeo_state} \end{center} \end{figure} \subsection*{Public Member Functions} \begin{CompactItemize} \item void {\bf register\-Object} ({\bf eo\-Persistent} \®istrant)\label{classeo_state_a2} \begin{CompactList}\small\item\em Object registration function, note that it does not take ownership! \item\end{CompactList}\item template$<$class T$>$ T \& {\bf take\-Ownership} (const T \&persistent) \begin{CompactList}\small\item\em Copies the object (MUST be derived from {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})}) and returns a reference to the owned object. \item\end{CompactList}\item std::string {\bf get\-Comment\-String} (void) const \label{classeo_state_a4} \item void {\bf load} (const std::string \&\_\-filename) \begin{CompactList}\small\item\em Reads the file specified. \item\end{CompactList}\item void {\bf load} (std::istream \&is) \begin{CompactList}\small\item\em Reads the file specified. \item\end{CompactList}\item void {\bf save} (const std::string \&\_\-filename) const \begin{CompactList}\small\item\em Saves the state in file specified. \item\end{CompactList}\item void {\bf save} (std::ostream \&os) const \begin{CompactList}\small\item\em Saves the state in file specified. \item\end{CompactList}\end{CompactItemize} \subsection*{Private Types} \begin{CompactItemize} \item typedef std::map$<$ std::string, {\bf eo\-Persistent} $\ast$ $>$ {\bf Object\-Map}\label{classeo_state_y0} \end{CompactItemize} \subsection*{Private Member Functions} \begin{CompactItemize} \item std::string {\bf create\-Object\-Name} ({\bf eo\-Object} $\ast$obj)\label{classeo_state_d0} \item {\bf eo\-State} (const {\bf eo\-State} \&)\label{classeo_state_d1} \item {\bf eo\-State} \& {\bf operator=} (const {\bf eo\-State} \&)\label{classeo_state_d2} \end{CompactItemize} \subsection*{Private Attributes} \begin{CompactItemize} \item Object\-Map {\bf object\-Map}\label{classeo_state_r0} \item std::vector$<$ Object\-Map::iterator $>$ {\bf creation\-Order}\label{classeo_state_r1} \item std::vector$<$ {\bf eo\-Persistent} $\ast$ $>$ {\bf owned\-Objects}\label{classeo_state_r2} \end{CompactItemize} \subsection{Detailed Description} eo\-State can be used to register derivants of {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})}. It will then in turn implement the persistence framework through members load and save, that will call read\-From and print\-On for the registrated objects. It is derived from {\bf eo\-Functor\-Store}{\rm (p.\,\pageref{classeo_functor_store})}, so that it also serves as a place where all those nifty eo functors can be stored. This is useful in the case you want to use one of the make\_\-$\ast$ functions. These functions generally take as their last argument an {\bf eo\-Functor\-Store}{\rm (p.\,\pageref{classeo_functor_store})} (or a state) which is used to hold all dynamically generated data. Note however, that unlike with {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})} derived classes, {\bf eo\-Functor\-Base}{\rm (p.\,\pageref{classeo_functor_base})} derived classes are not saved or loaded. To govern the creation of functors, command-line parameters (which can be stored) are needed. Definition at line 54 of file eo\-State.h. \subsection{Member Function Documentation} \index{eoState@{eo\-State}!takeOwnership@{takeOwnership}} \index{takeOwnership@{takeOwnership}!eoState@{eo\-State}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ T\& eo\-State::take\-Ownership (const T \& {\em persistent})\hspace{0.3cm}{\tt [inline]}}\label{classeo_state_a3} Copies the object (MUST be derived from {\bf eo\-Persistent}{\rm (p.\,\pageref{classeo_persistent})}) and returns a reference to the owned object. Note: it does not register the object, this must be done afterwards! Definition at line 73 of file eo\-State.h.\index{eoState@{eo\-State}!load@{load}} \index{load@{load}!eoState@{eo\-State}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-State::load (const std::string \& {\em \_\-filename})}\label{classeo_state_a5} Reads the file specified. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em \_\-filename}]the name of the file to load from \end{description} \end{Desc} Definition at line 74 of file eo\-State.cpp.\index{eoState@{eo\-State}!load@{load}} \index{load@{load}!eoState@{eo\-State}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-State::load (std::istream \& {\em is})}\label{classeo_state_a6} Reads the file specified. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em is}]the stream to load from \end{description} \end{Desc} Definition at line 87 of file eo\-State.cpp. References eo\-Persistent::read\-From().\index{eoState@{eo\-State}!save@{save}} \index{save@{save}!eoState@{eo\-State}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-State::save (const std::string \& {\em \_\-filename}) const}\label{classeo_state_a7} Saves the state in file specified. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em \_\-filename}]the name of the file to save into \end{description} \end{Desc} Definition at line 148 of file eo\-State.cpp. Referenced by eo\-Timed\-State\-Saver::operator()().\index{eoState@{eo\-State}!save@{save}} \index{save@{save}!eoState@{eo\-State}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-State::save (std::ostream \& {\em os}) const}\label{classeo_state_a8} Saves the state in file specified. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em os}]the stream to save into \end{description} \end{Desc} Definition at line 161 of file eo\-State.cpp. References eo\-Printable::print\-On(). The documentation for this class was generated from the following files:\begin{CompactItemize} \item eo\-State.h\item eo\-State.cpp\end{CompactItemize}