mirror of
https://github.com/CLIUtils/CLI11.git
synced 2025-05-01 13:13:53 +00:00
Making app pointer optional
This commit is contained in:
parent
9c55fa2872
commit
c10bece495
@ -596,9 +596,16 @@ protected:
|
|||||||
std::function<void(App*)> app_callback;
|
std::function<void(App*)> app_callback;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
/// Set a callback to run at the end of parsing
|
||||||
void set_callback(std::function<void(App*)> callback) {
|
App* set_callback(std::function<void(App*)> callback) {
|
||||||
app_callback = callback;
|
app_callback = callback;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Don't have to worry about explicit App* in argument
|
||||||
|
App* set_callback(std::function<void()> callback) {
|
||||||
|
app_callback = [callback](App*){callback();};
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
void run_callback() {
|
void run_callback() {
|
||||||
|
@ -338,10 +338,9 @@ TEST_F(TApp, Callbacks) {
|
|||||||
});
|
});
|
||||||
auto sub2 = app.add_subcommand("sub2");
|
auto sub2 = app.add_subcommand("sub2");
|
||||||
bool val = false;
|
bool val = false;
|
||||||
sub2->set_callback([&val](CLI::App*){
|
sub2->set_callback([&val](){
|
||||||
val = true;
|
val = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
app.reset();
|
app.reset();
|
||||||
args = {"sub2"};
|
args = {"sub2"};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user