KVPair.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. ** Command & Conquer Generals Zero Hour(tm)
  3. ** Copyright 2025 Electronic Arts Inc.
  4. **
  5. ** This program is free software: you can redistribute it and/or modify
  6. ** it under the terms of the GNU General Public License as published by
  7. ** the Free Software Foundation, either version 3 of the License, or
  8. ** (at your option) any later version.
  9. **
  10. ** This program is distributed in the hope that it will be useful,
  11. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. ** GNU General Public License for more details.
  14. **
  15. ** You should have received a copy of the GNU General Public License
  16. ** along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. // ---------------------------------------------------------------------------
  19. // File: KVPair.h
  20. // Author: Matthew D. Campbell
  21. // Creation Date: 9/4/2002
  22. // Description: Key/Value Pair class
  23. // ---------------------------------------------------------------------------
  24. #ifndef __KVPAIR_H__
  25. #define __KVPAIR_H__
  26. #include <map>
  27. #include <string>
  28. typedef std::map<std::string, std::string> KeyValueMap;
  29. class KVPairClass
  30. {
  31. public:
  32. KVPairClass( void );
  33. KVPairClass( const std::string& in, const std::string& delim );
  34. void set( const std::string& in, const std::string& delim );
  35. void readFromFile( const std::string& in, const std::string& delim );
  36. std::string getStringVal( const std::string& key ) const;
  37. bool getString( const std::string& key, std::string& val ) const;
  38. bool getInt( const std::string& key, int& val ) const;
  39. bool getUnsignedInt( const std::string& key, unsigned int& val ) const;
  40. protected:
  41. KeyValueMap m_map;
  42. };
  43. #endif // __KVPAIR_H__