#ifndef CONF_H
#define CONF_H
#include <string>
#include <fstream>
#include <map>

class ReadConfig
{
    std::map<std::string, std::string> _map;
public:
    ReadConfig(const char* fn);
    const std::string& String(std::string key) {return _map[key];}
    int Int(std::string key) {return atoi(_map[key].c_str());}
    double Double(std::string key) {return atof(_map[key].c_str());}
    ~ReadConfig(){}
};    

class WriteConfig
{
    std::map<std::string, std::string> _map;
    ofstream _of;
    std::string _fn;
public:
    WriteConfig(const char* fn);
    void Add(std::string key, std::string value) { _map[key] = value; }
//    void Add(const char* key, string value){string s(key);Add(s, value);}
    void Add(std::string key, int value);
//    void Add(const char* key, int value){string s(key);Add(s, value);}
    void Add(std::string key, double value);
//    void Add(const char* key, double value){string s(key);Add(s, value);}
    ~WriteConfig();
};

#endif // CONF_H
