[commands] Deprecate C++ TransferOwnership() (#6095)

It has been completely replaced with ToPtr().
This commit is contained in:
Joseph Eng
2023-12-26 13:14:34 -08:00
committed by GitHub
parent 92c81d0791
commit 7aa9ad44b8
3 changed files with 6 additions and 0 deletions

View File

@@ -432,6 +432,7 @@ class Command : public wpi::Sendable, public wpi::SendableHelper<Command> {
* Transfers ownership of this command to a unique pointer. Used for
* decorator methods.
*/
[[deprecated("Use ToPtr() instead")]]
virtual std::unique_ptr<Command> TransferOwnership() && = 0;
std::optional<std::string> m_previousComposition;

View File

@@ -8,6 +8,8 @@
#include <memory>
#include <utility>
#include <wpi/deprecated.h>
#include "frc2/command/Command.h"
#include "frc2/command/CommandPtr.h"
@@ -34,6 +36,7 @@ class CommandHelper : public Base {
}
protected:
WPI_DEPRECATED("Use ToPtr() instead")
std::unique_ptr<Command> TransferOwnership() && override {
return std::make_unique<CRTP>(std::move(*static_cast<CRTP*>(this)));
}

View File

@@ -17,6 +17,7 @@
#include <utility>
#include <vector>
#include <wpi/deprecated.h>
#include <wpi/sendable/SendableBuilder.h>
#include "frc2/command/Command.h"
@@ -134,6 +135,7 @@ class SelectCommand : public CommandHelper<Command, SelectCommand<Key>> {
}
protected:
WPI_DEPRECATED("Use ToPtr() instead")
std::unique_ptr<Command> TransferOwnership() && override {
return std::make_unique<SelectCommand>(std::move(*this));
}