24template <
typename Base,
typename CRTP,
25 typename = std::enable_if_t<std::is_base_of_v<Command, Base>>>
34 std::make_unique<CRTP>(std::move(*
static_cast<CRTP*
>(
this))));
39 return std::make_unique<CRTP>(std::move(*
static_cast<CRTP*
>(
this)));
CRTP implementation to allow polymorphic decorator functions in Command.
Definition: CommandHelper.h:26
std::unique_ptr< Command > TransferOwnership() &&override
Definition: CommandHelper.h:38
CommandPtr ToPtr() &&override
Definition: CommandHelper.h:32
A wrapper around std::unique_ptr<Command> so commands have move-only semantics.
Definition: CommandPtr.h:28
Definition: InstantCommand.h:14