#pragma once #include #include class command_line { public: static command_line& instance() { static command_line instance; return instance; } void init(int argc, char** argv); void get_arg(const std::string& key, std::string& out) const; void get_arg(const std::string& key, int& out) const; void get_arg(const std::string& key, float& out) const; void get_arg(const std::string& key, bool& out) const; private: std::unordered_map args_; // key-value pairs command_line() = default; };