11#include <condition_variable>
25 mutable std::mutex _m;
26 mutable std::condition_variable _cv;
27 mutable std::vector<ManualEvent *> _anyEvents;
51 template <std::same_as<ManualEvent>... Events>
66 static bool WaitForAllSignals(
int timeoutMs,
int minTimeoutMs, std::span<ManualEvent const* const> events);
74 template <std::same_as<ManualEvent>... Events>
86 static bool WaitForAnySignal(
int timeoutMs, std::span<ManualEvent const* const> events);
static bool WaitForAllSignals(int timeoutMs, int minTimeoutMs, Events const &... events)
Waits for all events to be signaled, or for timeout.
Definition ManualEvent.hpp:52
void Reset()
Reset the event signal to false and force any threads waiting on WaitForSignal() to time out.
void Clear()
Clear the event signal without signaling other threads.
void Signal()
Signal the event.
static bool WaitForAnySignal(int timeoutMs, Events const &... events)
Waits for any event to be signaled, or for timeout.
Definition ManualEvent.hpp:75
ManualEvent(bool initialSignal=false)
static bool WaitForAllSignals(int timeoutMs, int minTimeoutMs, std::span< ManualEvent const *const > events)
Waits for all events to be signaled, or for timeout.
static bool WaitForAnySignal(int timeoutMs, std::span< ManualEvent const *const > events)
Waits for any event to be signaled, or for timeout.
bool WaitForSignal(int timeoutMs) const
Wait for event to be signaled, or for timeout.
#define CTREXPORT
Definition export.h:14
Definition RcManualEvent.hpp:14
Definition FrcUsageReport.hpp:12
Definition motor_constants.h:14