[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

@@ -318,6 +318,18 @@ class Command : public wpi::Sendable, public wpi::SendableHelper<Command> {
[[nodiscard]]
CommandPtr FinallyDo(std::function<void(bool)> end) &&;
/**
* Decorates this command with a lambda to call on interrupt or end, following
* the command's inherent Command::End(bool) method. The provided lambda will
* run identically in both interrupt and end cases.
*
* @param end a lambda to run when the command ends, whether or not it was
* interrupted.
* @return the decorated command
*/
[[nodiscard]]
CommandPtr FinallyDo(std::function<void()> end) &&;
/**
* Decorates this command with a lambda to call on interrupt, following the
* command's inherent Command::End(bool) method.

View File

@@ -223,6 +223,18 @@ class CommandPtr final {
[[nodiscard]]
CommandPtr FinallyDo(std::function<void(bool)> end) &&;
/**
* Decorates this command with a lambda to call on interrupt or end, following
* the command's inherent Command::End(bool) method. The provided lambda will
* run identically in both interrupt and end cases.
*
* @param end a lambda to run when the command ends, whether or not it was
* interrupted.
* @return the decorated command
*/
[[nodiscard]]
CommandPtr FinallyDo(std::function<void()> end) &&;
/**
* Decorates this command with a lambda to call on interrupt, following the
* command's inherent Command::End(bool) method.