28 lines
544 B
C++
28 lines
544 B
C++
#pragma once
|
|
|
|
namespace Utils
|
|
{
|
|
class InfoString
|
|
{
|
|
public:
|
|
InfoString() = default;
|
|
explicit InfoString(const std::string& buffer);
|
|
|
|
void set(const std::string& key, const std::string& value);
|
|
void remove(const std::string& key);
|
|
|
|
[[nodiscard]] std::string get(const std::string& key) const;
|
|
[[nodiscard]] std::string build() const;
|
|
|
|
#ifdef _DEBUG
|
|
void dump();
|
|
#endif
|
|
|
|
[[nodiscard]] json11::Json to_json() const;
|
|
|
|
private:
|
|
std::unordered_map<std::string, std::string> keyValuePairs;
|
|
void parse(std::string buffer);
|
|
};
|
|
}
|