1
0
mirror of https://github.com/CLIUtils/CLI11.git synced 2025-04-29 12:13:52 +00:00
CLI11/examples/callback_passthrough.cpp
Philip Top b1036a1ad0 add a function to get the remaining arguments in a valid order (#265)
* 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
2019-04-28 16:20:52 +02:00

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';
}