mirror of
https://github.com/CLIUtils/CLI11.git
synced 2025-04-29 12:13:52 +00:00
* add a function to get the remaining arguments in a valid order for parse. and add rvalue reference overloads for parse and _parse so args is not refilled if not needed. * check a few more tests and verify ExtrasError works on parse(rValue vector) remove impossible to reach branches in _parse function * add callback_passthrough example and tests
21 lines
610 B
C++
21 lines
610 B
C++
#include "CLI/CLI.hpp"
|
|
|
|
int main(int argc, char **argv) {
|
|
|
|
CLI::App app("callback_passthrough");
|
|
app.allow_extras();
|
|
std::string argName;
|
|
std::string val;
|
|
app.add_option("--argname", argName, "the name of the custom command line argument");
|
|
app.callback([&app, &val, &argName]() {
|
|
if(!argName.empty()) {
|
|
CLI::App subApp;
|
|
subApp.add_option("--" + argName, val, "custom argument option");
|
|
subApp.parse(app.remaining_for_passthrough());
|
|
}
|
|
});
|
|
|
|
CLI11_PARSE(app, argc, argv);
|
|
std::cout << "the value is now " << val << '\n';
|
|
}
|