+//
+// 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