AronaCore/core/application/command_line.h
2024-06-08 13:41:29 +08:00

26 lines
600 B
C++

#pragma once
#include <string>
#include <unordered_map>
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<std::string, std::string> args_; // key-value pairs
command_line() = default;
};