| |
| |
| |
|
|
| #pragma once |
|
|
| #include <initializer_list> |
| #include <map> |
| #include <string> |
|
|
| namespace Common { |
|
|
| |
| class ParamPackage { |
| public: |
| using DataType = std::map<std::string, std::string>; |
|
|
| ParamPackage() = default; |
| explicit ParamPackage(const std::string& serialized); |
| ParamPackage(std::initializer_list<DataType::value_type> list); |
| ParamPackage(const ParamPackage& other) = default; |
| ParamPackage(ParamPackage&& other) = default; |
|
|
| ParamPackage& operator=(const ParamPackage& other) = default; |
| ParamPackage& operator=(ParamPackage&& other) = default; |
|
|
| [[nodiscard]] std::string Serialize() const; |
| [[nodiscard]] std::string Get(const std::string& key, const std::string& default_value) const; |
| [[nodiscard]] int Get(const std::string& key, int default_value) const; |
| [[nodiscard]] float Get(const std::string& key, float default_value) const; |
| void Set(const std::string& key, std::string value); |
| void Set(const std::string& key, int value); |
| void Set(const std::string& key, float value); |
| [[nodiscard]] bool Has(const std::string& key) const; |
| void Erase(const std::string& key); |
| void Clear(); |
|
|
| |
| DataType::iterator begin(); |
| DataType::const_iterator begin() const; |
| DataType::iterator end(); |
| DataType::const_iterator end() const; |
|
|
| private: |
| DataType data; |
| }; |
|
|
| } |
|
|