+class CliParser{
+public:
+ inline CliParser() {};
+ CliParser(QStringList arguments);
+ bool parse();
+ QVariant value(QString key);
+ void addSwitch(QString longName, char shortName = 0, QVariant def = false);
+ void addOption(QString longName, char shortName = 0, QVariant def = QVariant());
+ void addHelp(QString key, QString txt);
+ void usage();
+private:
+ void addArgument(CliParserArg::CliArgType type, QString longName, char shortName, QVariant def);
+ QStringList argsRaw;
+ QHash<QString, CliParserArg> argsHash;
+ QHash<const char, QHash<QString, CliParserArg>::iterator> shortHash;
+};
+
+