X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/7c995c8f062b1e4faf919c7c1e8ef8090b3bf180..31b24cededa8b07468cb5e1c49b2a208fe19173e:/include/stg/user_property.h?ds=inline diff --git a/include/stg/user_property.h b/include/stg/user_property.h index a4547398..7d68e734 100644 --- a/include/stg/user_property.h +++ b/include/stg/user_property.h @@ -12,6 +12,7 @@ $Author: faust $ #include #include #include +#include #include #include @@ -32,7 +33,7 @@ public: }; //----------------------------------------------------------------------------- template -class USER_PROPERTY : USER_PROPERTY_BASE { +class USER_PROPERTY : public USER_PROPERTY_BASE { public: USER_PROPERTY(varT & val); virtual ~USER_PROPERTY(); @@ -123,7 +124,7 @@ private: USER_STAT stat; USER_CONF conf; - std::map & properties; + std::map properties; public: USER_PROPERTIES(const std::string & sd); @@ -137,6 +138,7 @@ public: void SetProperties(const USER_PROPERTIES & p) { stat = p.stat; conf = p.conf; } std::string GetPropertyValue(const std::string & name) const; + bool Exists(const std::string & name) const; USER_PROPERTY_LOGGED cash; USER_PROPERTY_LOGGED up; @@ -386,13 +388,21 @@ else //------------------------------------------------------------------------- //------------------------------------------------------------------------- //------------------------------------------------------------------------- +inline std::string USER_PROPERTIES::GetPropertyValue(const std::string & name) const { -std::map::iterator it = properties.find(name); +std::map::const_iterator it = properties.find(name); if (it == properties.end()) return ""; return it->second->ToString(); } +//----------------------------------------------------------------------------- +inline +bool USER_PROPERTIES::Exists(const std::string & name) const +{ +if (properties.find(name)!=properties.end()) return true; +return false; +} //------------------------------------------------------------------------- //------------------------------------------------------------------------- //------------------------------------------------------------------------- @@ -407,7 +417,7 @@ template inline std::string USER_PROPERTY::ToString() const { -std::stringstream stream; +std::ostringstream stream; stream << value; return stream.str(); }