39 _groupMask(groupIndex ?
GroupMask(1u << (groupIndex - 1u)) : 0u),
40 _phaseMask(phaseIndex ?
PhaseMask(1u << (phaseIndex - 1u)) : 0u)
107 return _eventMap.empty();
115 void SetPhase(PhaseIndex phase);
124 if (phase && phase <=
sizeof(
PhaseMask) * 8)
125 _phaseMask |=
PhaseMask(1u << (phase - 1u));
135 if (phase && phase <=
sizeof(
PhaseMask) * 8)
136 _phaseMask &=
PhaseMask(~(1u << (phase - 1u)));
147 void ScheduleEvent(
EventId eventId,
Milliseconds time, GroupIndex group = 0u, PhaseIndex phase = 0u);
168 void RescheduleEvent(
EventId eventId,
Milliseconds time, GroupIndex group = 0u, PhaseIndex phase = 0u);
231 void CancelEvent(
EventId eventId);
238 void CancelEventGroup(GroupIndex group);
248 return phase <=
sizeof(
PhaseIndex) * 8 && (!phase || _phaseMask &
PhaseMask(1u << (phase - 1u)));
265 bool HasEventScheduled(
EventId eventId)
const;
272 void ScheduleNextFromSeries(Event eventData);
282 void ScheduleEventSeries(
EventId eventId, GroupIndex group, PhaseIndex phase, std::initializer_list<Milliseconds> timeSeries);
290 void ScheduleEventSeries(
EventId eventId, std::initializer_list<Milliseconds> timeSeries);