[commands] Add finallyDo with zero-arg lambda (#5862)

This commit is contained in:
shueja-personal
2023-11-03 15:21:21 -07:00
committed by GitHub
parent 1c35d42cd0
commit 8a3a268ae6
5 changed files with 46 additions and 0 deletions

View File

@@ -123,6 +123,10 @@ CommandPtr Command::FinallyDo(std::function<void(bool)> end) && {
return std::move(*this).ToPtr().FinallyDo(std::move(end));
}
CommandPtr Command::FinallyDo(std::function<void()> end) && {
return std::move(*this).ToPtr().FinallyDo(std::move(end));
}
CommandPtr Command::HandleInterrupt(std::function<void(void)> handler) && {
return std::move(*this).ToPtr().HandleInterrupt(std::move(handler));
}

View File

@@ -203,6 +203,12 @@ CommandPtr CommandPtr::FinallyDo(std::function<void(bool)> end) && {
return std::move(*this);
}
CommandPtr CommandPtr::FinallyDo(std::function<void()> end) && {
AssertValid();
return std::move(*this).FinallyDo(
[endHandler = std::move(end)](bool interrupted) { endHandler(); });
}
CommandPtr CommandPtr::HandleInterrupt(std::function<void(void)> handler) && {
AssertValid();
return std::move(*this).FinallyDo(