WPILibC++ 2024.1.1-beta-4
frc2::ParallelCommandGroup Class Reference

A command composition that runs a set of commands in parallel, ending when the last command ends. More...

#include <frc2/command/ParallelCommandGroup.h>

Inheritance diagram for frc2::ParallelCommandGroup:
frc2::CommandHelper< Command, ParallelCommandGroup >

Public Member Functions

 ParallelCommandGroup (std::vector< std::unique_ptr< Command > > &&commands)
 Creates a new ParallelCommandGroup. More...
 
template<wpi::DecayedDerivedFrom< Command >... Commands>
 ParallelCommandGroup (Commands &&... commands)
 Creates a new ParallelCommandGroup. More...
 
 ParallelCommandGroup (ParallelCommandGroup &&other)=default
 
 ParallelCommandGroup (const ParallelCommandGroup &)=delete
 
 ParallelCommandGroup (ParallelCommandGroup &)=delete
 
template<wpi::DecayedDerivedFrom< Command >... Commands>
void AddCommands (Commands &&... commands)
 Adds the given commands to the group. More...
 
void Initialize () final
 
void Execute () final
 
void End (bool interrupted) final
 
bool IsFinished () final
 
bool RunsWhenDisabled () const override
 
Command::InterruptionBehavior GetInterruptionBehavior () const override
 
- Public Member Functions inherited from frc2::CommandHelper< Command, ParallelCommandGroup >
 CommandHelper ()=default
 
CommandPtr ToPtr () &&override
 

Additional Inherited Members

- Protected Member Functions inherited from frc2::CommandHelper< Command, ParallelCommandGroup >
std::unique_ptr< CommandTransferOwnership () &&override
 

Detailed Description

A command composition that runs a set of commands in parallel, ending when the last command ends.

The rules for command compositions apply: command instances that are passed to it are owned by the composition and cannot be added to any other composition or scheduled individually, and the composition requires all subsystems its components require.

This class is provided by the NewCommands VendorDep

Constructor & Destructor Documentation

◆ ParallelCommandGroup() [1/5]

frc2::ParallelCommandGroup::ParallelCommandGroup ( std::vector< std::unique_ptr< Command > > &&  commands)
explicit

Creates a new ParallelCommandGroup.

The given commands will be executed simultaneously. The command group will finish when the last command finishes. If the composition is interrupted, only the commands that are still running will be interrupted.

Parameters
commandsthe commands to include in this composition.

◆ ParallelCommandGroup() [2/5]

template<wpi::DecayedDerivedFrom< Command >... Commands>
frc2::ParallelCommandGroup::ParallelCommandGroup ( Commands &&...  commands)
inlineexplicit

Creates a new ParallelCommandGroup.

The given commands will be executed simultaneously. The command group will finish when the last command finishes. If the composition is interrupted, only the commands that are still running will be interrupted.

Parameters
commandsthe commands to include in this composition.

◆ ParallelCommandGroup() [3/5]

frc2::ParallelCommandGroup::ParallelCommandGroup ( ParallelCommandGroup &&  other)
default

◆ ParallelCommandGroup() [4/5]

frc2::ParallelCommandGroup::ParallelCommandGroup ( const ParallelCommandGroup )
delete

◆ ParallelCommandGroup() [5/5]

frc2::ParallelCommandGroup::ParallelCommandGroup ( ParallelCommandGroup )
delete

Member Function Documentation

◆ AddCommands()

template<wpi::DecayedDerivedFrom< Command >... Commands>
void frc2::ParallelCommandGroup::AddCommands ( Commands &&...  commands)
inline

Adds the given commands to the group.

Parameters
commandsCommands to add to the group.

◆ End()

void frc2::ParallelCommandGroup::End ( bool  interrupted)
final

◆ Execute()

void frc2::ParallelCommandGroup::Execute ( )
final

◆ GetInterruptionBehavior()

Command::InterruptionBehavior frc2::ParallelCommandGroup::GetInterruptionBehavior ( ) const
override

◆ Initialize()

void frc2::ParallelCommandGroup::Initialize ( )
final

◆ IsFinished()

bool frc2::ParallelCommandGroup::IsFinished ( )
final

◆ RunsWhenDisabled()

bool frc2::ParallelCommandGroup::RunsWhenDisabled ( ) const
override

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