From: Christian P. <cp...@us...> - 2005-06-29 00:11:19
|
Update of /cvsroot/pclasses/pclasses2/src/App In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1010/src/App Modified Files: Config.cpp Log Message: - Changed ConfigSection::value_map from std::map to std::list to preserve order of config values Index: Config.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/src/App/Config.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Config.cpp 22 Jun 2005 11:35:19 -0000 1.1 +++ Config.cpp 29 Jun 2005 00:11:10 -0000 1.2 @@ -59,11 +59,15 @@ { } -const Unicode::String& ConfigValue::value() const throw() +const Unicode::String& ConfigValue::toString() const throw() { return _value; } +StringList<Unicode::String> ConfigValue::toStringList() const +{ + return StringList<Unicode::String>(_value, ","); +} ConfigSection::ConfigSection(Config* cfg, const std::string& name) : _cfg(cfg), _name(name) @@ -193,13 +197,31 @@ ConfigSection::value_iterator ConfigSection::findValue(const std::string& name) throw() { - return _values.find(name); + value_iterator i = _values.begin(); + while(i != _values.end()) + { + if((*i).first == name) + break; + + ++i; + } + + return i; } ConfigSection::value_const_iterator ConfigSection::findValue(const std::string& name) const throw() { - return _values.find(name); + value_const_iterator i = _values.begin(); + while(i != _values.end()) + { + if((*i).first == name) + break; + + ++i; + } + + return i; } const ConfigValue& ConfigSection::value(const std::string& name, @@ -207,14 +229,13 @@ { value_iterator i = findValue(name); if(i != _values.end()) - return i->second; + return (*i).second; if(!add) throw ConfigError("Value not found", P_SOURCEINFO); const ConfigValue& val = - _values.insert(_values.begin(), - std::make_pair(name,ConfigValue()))->second; + (*_values.insert(_values.begin(), std::make_pair(name, ConfigValue()))).second; _cfg->setModified(); @@ -231,8 +252,7 @@ const ConfigValue* v = &defaultVal; if(add) { - v = &_values.insert(_values.begin(), - std::make_pair(name,defaultVal))->second; + v = &(*_values.insert(_values.begin(), std::make_pair(name, ConfigValue()))).second; _cfg->setModified(); } @@ -249,7 +269,7 @@ } else { - _values.insert(std::make_pair(name, val)); + _values.push_back(std::make_pair(name, val)); } } |