OGL Engine 1.2.0-dev
Loading...
Searching...
No Matches
iniparser.hpp
Go to the documentation of this file.
1
5#pragma once
6
7#include <string>
8#include <unordered_map>
9#include <fstream>
10#include <sstream>
11#include <algorithm>
12#include <cctype>
13
14namespace Engine::Utils {
18 using IniSection = std::unordered_map<std::string, std::string>;
22 using IniData = std::unordered_map<std::string, IniSection>;
23
28 class IniParser {
29 private:
30 IniData mData;
31 static std::string Trim(const std::string& s);
32
33 public:
34 IniParser() = default;
41 int Load(const std::string& filepath);
42
51 std::string GetString(const std::string& section, const std::string& key, const std::string& defaultValue = "") const;
60 int GetInt(const std::string& section, const std::string& key, int defaultValue = 0) const;
69 float GetFloat(const std::string& section, const std::string& key, float defaultValue = 0.0f) const;
79 bool GetBool(const std::string& section, const std::string& key, bool defaultValue = false) const;
80
88 bool HasSection(const std::string& section) const;
97 bool HasKey(const std::string& section, const std::string& key) const;
98 };
99}
float GetFloat(const std::string &section, const std::string &key, float defaultValue=0.0f) const
Renvoie une valeur de type float.
Definition iniparser.cpp:73
bool HasKey(const std::string &section, const std::string &key) const
Vérifie si une section donnée possède la clé demandée.
Definition iniparser.cpp:99
bool HasSection(const std::string &section) const
Permet de checker si une section existe.
Definition iniparser.cpp:95
std::string GetString(const std::string &section, const std::string &key, const std::string &defaultValue="") const
Renvoie une valeur de type string.
Definition iniparser.cpp:52
bool GetBool(const std::string &section, const std::string &key, bool defaultValue=false) const
Renvoie une valeur de type bool.
Definition iniparser.cpp:83
int GetInt(const std::string &section, const std::string &key, int defaultValue=0) const
Renvoie une valeur de type int.
Definition iniparser.cpp:63
int Load(const std::string &filepath)
Charge un fichier ini à l'emplacement défini par le path donné
Definition iniparser.cpp:15
Definition colors.cpp:3
std::unordered_map< std::string, std::string > IniSection
Définit le type de donnée pour une Section ini.
Definition iniparser.hpp:18
std::unordered_map< std::string, IniSection > IniData
Définit le type de donnée pour une entrée ini.
Definition iniparser.hpp:22