WPILibC++ 2027.0.0-alpha-4
Loading...
Searching...
No Matches
wpi::cmd::WrapperCommand Class Reference

A class used internally to wrap commands while overriding a specific method; all other methods will call through to the wrapped command. More...

#include <wpi/commands2/WrapperCommand.hpp>

Inheritance diagram for wpi::cmd::WrapperCommand:
wpi::cmd::CommandHelper< Command, WrapperCommand >

Public Member Functions

 WrapperCommand (std::unique_ptr< Command > &&command)
 Wrap a command.
template<std::derived_from< Command > T>
 WrapperCommand (T &&command)
 Wrap a command.
 WrapperCommand (WrapperCommand &&other)=default
 WrapperCommand (const WrapperCommand &other)=delete
 WrapperCommand (WrapperCommand &)=delete
void Initialize () override
void Execute () override
bool IsFinished () override
void End (bool interrupted) override
bool RunsWhenDisabled () const override
InterruptionBehavior GetInterruptionBehavior () const override
wpi::util::SmallSet< Subsystem *, 4 > GetRequirements () const override
Public Member Functions inherited from wpi::cmd::CommandHelper< Command, WrapperCommand >
 CommandHelper ()=default
CommandPtr ToPtr () &&override

Protected Attributes

std::unique_ptr< Commandm_command
 Command being wrapped.

Detailed Description

A class used internally to wrap commands while overriding a specific method; all other methods will call through to the wrapped command.

Wrapped commands may only be used through the wrapper, trying to directly schedule them or add them to a group will throw an exception.

Constructor & Destructor Documentation

◆ WrapperCommand() [1/5]

wpi::cmd::WrapperCommand::WrapperCommand ( std::unique_ptr< Command > && command)
explicit

Wrap a command.

Parameters
commandthe command being wrapped. Trying to directly schedule this command or add it to a group will throw an exception.

◆ WrapperCommand() [2/5]

template<std::derived_from< Command > T>
wpi::cmd::WrapperCommand::WrapperCommand ( T && command)
inlineexplicit

Wrap a command.

Parameters
commandthe command being wrapped. Trying to directly schedule this command or add it to a group will throw an exception.

◆ WrapperCommand() [3/5]

wpi::cmd::WrapperCommand::WrapperCommand ( WrapperCommand && other)
default

◆ WrapperCommand() [4/5]

wpi::cmd::WrapperCommand::WrapperCommand ( const WrapperCommand & other)
delete

◆ WrapperCommand() [5/5]

wpi::cmd::WrapperCommand::WrapperCommand ( WrapperCommand & )
delete

Member Function Documentation

◆ End()

void wpi::cmd::WrapperCommand::End ( bool interrupted)
override

◆ Execute()

void wpi::cmd::WrapperCommand::Execute ( )
override

◆ GetInterruptionBehavior()

InterruptionBehavior wpi::cmd::WrapperCommand::GetInterruptionBehavior ( ) const
override

◆ GetRequirements()

wpi::util::SmallSet< Subsystem *, 4 > wpi::cmd::WrapperCommand::GetRequirements ( ) const
override

◆ Initialize()

void wpi::cmd::WrapperCommand::Initialize ( )
override

◆ IsFinished()

bool wpi::cmd::WrapperCommand::IsFinished ( )
override

◆ RunsWhenDisabled()

bool wpi::cmd::WrapperCommand::RunsWhenDisabled ( ) const
override

Member Data Documentation

◆ m_command

std::unique_ptr<Command> wpi::cmd::WrapperCommand::m_command
protected

Command being wrapped.


The documentation for this class was generated from the following file: