Loading [MathJax]/extensions/tex2jax.js
WPILibC++
2025.3.2
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
Enumerations
a
b
c
d
e
f
h
i
l
m
n
o
p
r
s
t
u
v
Enumerator
a
b
c
f
h
i
k
l
m
o
p
s
t
u
w
Concepts
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
z
Enumerations
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
v
w
Enumerator
a
b
c
f
i
k
m
o
p
r
s
v
Related Symbols
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
z
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Typedefs
a
b
c
d
e
f
h
i
j
l
m
n
o
p
r
s
t
u
v
w
z
Enumerations
a
c
e
h
m
n
p
r
s
t
u
w
Enumerator
c
h
i
m
n
p
u
w
Macros
_
a
c
d
e
f
g
h
i
j
k
l
m
n
p
r
s
t
u
v
w
x
▼
WPILibC++
LICENSE
Deprecated List
Todo List
►
Topics
►
Namespaces
►
Concepts
►
Classes
▼
Files
▼
File List
►
cameraserver
►
debugging
►
fmt
►
frc
►
frc
►
frc
►
frc
►
frc
►
frc
►
frc2
▼
frc2
▼
command
►
button
►
sysid
►
Command.h
►
CommandHelper.h
►
CommandPtr.h
►
Commands.h
►
CommandScheduler.h
►
ConditionalCommand.h
►
DeferredCommand.h
►
FunctionalCommand.h
►
InstantCommand.h
►
MecanumControllerCommand.h
►
NotifierCommand.h
►
ParallelCommandGroup.h
►
ParallelDeadlineGroup.h
►
ParallelRaceGroup.h
►
PIDCommand.h
►
PIDSubsystem.h
►
PrintCommand.h
►
ProfiledPIDCommand.h
►
ProfiledPIDSubsystem.h
►
ProxyCommand.h
►
RamseteCommand.h
►
RepeatCommand.h
►
Requirements.h
►
RunCommand.h
►
ScheduleCommand.h
►
SelectCommand.h
►
SequentialCommandGroup.h
►
StartEndCommand.h
►
Subsystem.h
►
SubsystemBase.h
►
SwerveControllerCommand.h
►
TrapezoidProfileCommand.h
►
TrapezoidProfileSubsystem.h
►
WaitCommand.h
►
WaitUntilCommand.h
►
WrapperCommand.h
►
generated
►
generated
►
generated
►
hal
►
networktables
►
thirdparty
►
thirdparty
►
thirdparty
►
units
►
vision
►
wpi
►
wpi
►
wpi
►
wpi
►
wpi
►
wpi
►
wpi
►
wpi
►
wpimath
►
wpinet
cscore.h
►
cscore_c.h
►
cscore_cpp.h
►
cscore_cv.h
cscore_oo.h
►
cscore_raw.h
►
cscore_runloop.h
ntcore.h
►
ntcore_c.h
►
ntcore_cpp.h
►
ntcore_test.h
►
WPILibVersion.h
debugging.hpp
►
pb.h
►
pb_common.h
►
pb_decode.h
►
pb_encode.h
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Concepts
Loading...
Searching...
No Matches
RepeatCommand.h
Go to the documentation of this file.
1
// Copyright (c) FIRST and other WPILib contributors.
2
// Open Source Software; you can modify and/or share it under the terms of
3
// the WPILib BSD license file in the root directory of this project.
4
5
#pragma once
6
7
#ifdef _WIN32
8
#pragma warning(push)
9
#pragma warning(disable : 4521)
10
#endif
11
12
#include <concepts>
13
#include <memory>
14
#include <utility>
15
16
#include "
frc2/command/Command.h
"
17
#include "
frc2/command/CommandHelper.h
"
18
19
namespace
frc2
{
20
/**
21
* A command that runs another command repeatedly, restarting it when it ends,
22
* until this command is interrupted. Command instances that are passed to it
23
* cannot be added to any other groups, or scheduled individually.
24
*
25
* <p>The rules for command compositions apply: command instances that are
26
* passed to it are owned by the composition and cannot be added to any other
27
* composition or scheduled individually, and the composition requires all
28
* subsystems its components require.
29
*
30
* <p>This class is provided by the NewCommands VendorDep
31
*/
32
class
RepeatCommand
:
public
CommandHelper
<Command, RepeatCommand> {
33
public
:
34
/**
35
* Creates a new RepeatCommand. Will run another command repeatedly,
36
* restarting it whenever it ends, until this command is interrupted.
37
*
38
* @param command the command to run repeatedly
39
*/
40
explicit
RepeatCommand
(std::unique_ptr<Command>&& command);
41
42
/**
43
* Creates a new RepeatCommand. Will run another command repeatedly,
44
* restarting it whenever it ends, until this command is interrupted.
45
*
46
* @param command the command to run repeatedly
47
*/
48
template
<std::derived_from<Command> T>
49
// NOLINTNEXTLINE(bugprone-forwarding-reference-overload)
50
explicit
RepeatCommand
(T&& command)
51
:
RepeatCommand
(
52
std
::make_unique<
std
::
decay_t
<T>>(
std
::forward<T>(command))) {}
50
explicit
RepeatCommand
(T&& command) {
…
}
53
54
RepeatCommand
(
RepeatCommand
&& other) =
default
;
55
56
// No copy constructors for command groups
57
RepeatCommand
(
const
RepeatCommand
& other) =
delete
;
58
59
// Prevent template expansion from emulating copy ctor
60
RepeatCommand
(
RepeatCommand
&) =
delete
;
61
62
void
Initialize
()
override
;
63
64
void
Execute
()
override
;
65
66
bool
IsFinished
()
override
;
67
68
void
End
(
bool
interrupted)
override
;
69
70
bool
RunsWhenDisabled
()
const override
;
71
72
Command::InterruptionBehavior
GetInterruptionBehavior
()
const override
;
73
74
void
InitSendable
(
wpi::SendableBuilder
& builder)
override
;
75
76
private
:
77
std::unique_ptr<Command> m_command;
78
bool
m_ended;
79
};
32
class
RepeatCommand
:
public
CommandHelper
<Command, RepeatCommand> {
…
};
80
}
// namespace frc2
81
82
#ifdef _WIN32
83
#pragma warning(pop)
84
#endif
Command.h
CommandHelper.h
frc2::CommandHelper
CRTP implementation to allow polymorphic decorator functions in Command.
Definition
CommandHelper.h:25
frc2::Command::InterruptionBehavior
InterruptionBehavior
An enum describing the command's behavior when another command with a shared requirement is scheduled...
Definition
Command.h:173
frc2::RepeatCommand
A command that runs another command repeatedly, restarting it when it ends, until this command is int...
Definition
RepeatCommand.h:32
frc2::RepeatCommand::RepeatCommand
RepeatCommand(RepeatCommand &&other)=default
frc2::RepeatCommand::End
void End(bool interrupted) override
frc2::RepeatCommand::InitSendable
void InitSendable(wpi::SendableBuilder &builder) override
frc2::RepeatCommand::Execute
void Execute() override
frc2::RepeatCommand::RunsWhenDisabled
bool RunsWhenDisabled() const override
frc2::RepeatCommand::RepeatCommand
RepeatCommand(T &&command)
Creates a new RepeatCommand.
Definition
RepeatCommand.h:50
frc2::RepeatCommand::Initialize
void Initialize() override
frc2::RepeatCommand::GetInterruptionBehavior
Command::InterruptionBehavior GetInterruptionBehavior() const override
frc2::RepeatCommand::RepeatCommand
RepeatCommand(const RepeatCommand &other)=delete
frc2::RepeatCommand::RepeatCommand
RepeatCommand(RepeatCommand &)=delete
frc2::RepeatCommand::RepeatCommand
RepeatCommand(std::unique_ptr< Command > &&command)
Creates a new RepeatCommand.
frc2::RepeatCommand::IsFinished
bool IsFinished() override
wpi::SendableBuilder
Helper class for building Sendable dashboard representations.
Definition
SendableBuilder.h:21
frc2
Definition
FunctionalCommand.h:13
std
Implement std::hash so that hash_code can be used in STL containers.
Definition
PointerIntPair.h:280
decay_t
typename std::decay< T >::type decay_t
Definition
base.h:311
frc2
command
RepeatCommand.h
Generated on Mon Mar 17 2025 23:50:34 for WPILibC++ by
1.12.0