summaryrefslogtreecommitdiffstats
path: root/src/config.hpp
blob: 976371b20c3d6531a674ccf04c3f39089c703dc5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//
// Created by mfritzsc on 8/1/17.
//

#ifndef TMCAGLWM_CONFIG_HPP
#define TMCAGLWM_CONFIG_HPP

#include <map>
#include <experimental/optional>

namespace wm {

using std::experimental::optional;
using std::experimental::nullopt;

struct config {
   typedef std::map<std::string, std::string> map;

   map cfg;

   config();

   optional<std::string> get_string(char const *s) {
      auto i = this->cfg.find(s);
      return i != this->cfg.end() ? optional<std::string>(i->second) : nullopt;
   }

   optional<int> get_int(char const *s) {
      auto i = this->cfg.find(s);
      return i != this->cfg.end() ? optional<int>(std::stoi(i->second)) : nullopt;
   }
};

}  // namespace wm


#endif //TMCAGLWM_CONFIG_HPP