Merge branch 'fixes' into main/rendor-staging
[ryzomcore.git] / ryzom / common / src / game_share / people_pd_inline.h
blob5e749eda9e869425ba779183f614d089b96f5f97
1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
4 // This source file has been modified by the following contributors:
5 // Copyright (C) 2020 Jan BOON (Kaetemi) <jan.boon@kaetemi.be>
6 //
7 // This program is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU Affero General Public License as
9 // published by the Free Software Foundation, either version 3 of the
10 // License, or (at your option) any later version.
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU Affero General Public License for more details.
17 // You should have received a copy of the GNU Affero General Public License
18 // along with this program. If not, see <http://www.gnu.org/licenses/>.
20 namespace EGSPD
23 /* -----------------------------------------
24 * Inline implementation of CPeople
25 * ----------------------------------------- */
26 inline const std::string& CPeople::toString(TPeople v)
28 if (v < 0 || v >= ___TPeople_useSize)
30 nlwarning("TPeople::toString(): value '%u' is not matched, \"Unknown\" string returned", v);
31 return _UnknownString;
33 if (!_Initialised)
35 init();
37 return _StrTable[v];
39 inline CPeople::TPeople CPeople::fromString(const std::string& v)
41 if (!_Initialised)
43 init();
45 if(v==_UnknownString)
47 return Unknown;
49 const std::map<std::string, TPeople>::const_iterator it = _ValueMap.find(NLMISC::toLowerAscii(v));
50 if (it == _ValueMap.end())
52 nlwarning("TPeople::toString(): string '%s' is not matched, 'Unknown' enum value returned", v.c_str());
53 return Unknown;
55 return (*it).second;
57 // End of inline implementation of CPeople
59 /* -----------------------------------------
60 * Inline implementation of CClassificationType
61 * ----------------------------------------- */
62 inline const std::string& CClassificationType::toString(TClassificationType v)
64 if (v < 0 || v >= ___TClassificationType_useSize)
66 nlwarning("TClassificationType::toString(): value '%u' is not matched, \"Unknown\" string returned", v);
67 return _UnknownString;
69 if (!_Initialised)
71 init();
73 return _StrTable[v];
75 inline CClassificationType::TClassificationType CClassificationType::fromString(const std::string& v)
77 if (!_Initialised)
79 init();
81 if(v==_UnknownString)
83 return Unknown;
85 const std::map<std::string, TClassificationType>::const_iterator it = _ValueMap.find(NLMISC::toLowerAscii(v));
86 if (it == _ValueMap.end())
88 nlwarning("TClassificationType::toString(): string '%s' is not matched, 'Unknown' enum value returned", v.c_str());
89 return Unknown;
91 return (*it).second;
93 // End of inline implementation of CClassificationType
96 } // End of EGSPD