Lib
QOLを高める
config.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "util.h"
4 #include <string>
5 #include <map>
6 
7 namespace yappy {
9 namespace config {
10 
12 {
13 public:
14  using MapType = std::map<std::string, std::string>;
15  using InitList = std::initializer_list<MapType::value_type>;
16 
17  static const size_t LineCharMax = 1024;
18  const char *const BoolStrTrue = "true";
19  const char *const BoolStrFalse = "false";
20 
21  ConfigFile(const wchar_t *fileName, InitList keyAndDefaults);
22  ~ConfigFile();
23 
24  void load();
25  void save();
26 
27  void setString(const std::string &key, const std::string &value);
28  const std::string &getString(const std::string &key) const;
29  bool getBool(const std::string &key);
30  int getInt(const std::string &key);
31 
32 private:
33  const wchar_t *const m_fileName;
34  MapType m_defaults;
35  MapType m_map;
36 };
37 
38 }
39 }
Noncopyable class.
Definition: util.h:24
const char *const BoolStrTrue
Definition: config.h:18
const char *const BoolStrFalse
Definition: config.h:19
int getInt(const std::string &key)
Definition: config.cpp:130
Definition: config.cpp:6
void setString(const std::string &key, const std::string &value)
Definition: config.cpp:83
const std::string & getString(const std::string &key) const
Definition: config.cpp:91
ConfigFile(const wchar_t *fileName, InitList keyAndDefaults)
Definition: config.cpp:13
Utilities.
bool getBool(const std::string &key)
Definition: config.cpp:103
std::map< std::string, std::string > MapType
Definition: config.h:14
static const size_t LineCharMax
Definition: config.h:17
std::initializer_list< MapType::value_type > InitList
Definition: config.h:15