00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TORC_GENERIC_OM_USERDATACONTAINER_HPP
00017 #define TORC_GENERIC_OM_USERDATACONTAINER_HPP
00018
00019 #include <iostream>
00020 #include <string>
00021 #include <list>
00022
00023 #include "torc/generic/util/Error.hpp"
00024
00025 namespace torc { namespace generic { class BaseVisitor; } }
00026
00027 namespace torc {
00028
00029 namespace generic {
00030
00031
00032
00033
00034
00035
00036 class UserDataContainer {
00037
00038 public:
00039
00040
00041
00042
00043
00044
00045 inline void
00046 getUserData(std::list< std::string > & outUserData) const throw();
00047
00048
00049
00050
00051
00052
00053 void
00054 setUserData(const std::list< std::string > & inSource) throw();
00055
00056
00057
00058
00059
00060 void
00061 addUserData( const std::string &inSource ) throw();
00062
00063 protected:
00064 UserDataContainer();
00065
00066 public:
00067 ~UserDataContainer() throw();
00068
00069 private:
00070 UserDataContainer(const UserDataContainer & source) throw();
00071
00072 UserDataContainer &
00073 operator=(const UserDataContainer & source) throw();
00074
00075 std::list< std::string > mUserData;
00076 };
00077
00078
00079
00080
00081
00082
00083 inline void
00084 UserDataContainer::getUserData(std::list< std::string > & outUserData) const throw() {
00085 outUserData.insert( outUserData.end(),
00086 mUserData.begin(), mUserData.end() );
00087 return;
00088 }
00089
00090 }
00091
00092 }
00093 #endif // TORC_GENERIC_OM_USERDATACONTAINER_HPP