28 void setState(
bool status, EmuTime::param time);
33 [[nodiscard]]
bool getState(EmuTime::param time)
const;
34 [[nodiscard]]
bool isPeriodic()
const {
return periodic; }
38 EmuTime::param
end)
const;
43 template<
typename Archive>
44 void serialize(Archive& ar,
unsigned version);
48 void schedule(EmuTime::param time);
49 void executeUntil(EmuTime::param time)
override;
56 EmuTime referenceTime = EmuTime::zero();
58 bool periodic =
false;
60 bool signalEdge =
false;
~ClockPinListener()=default
virtual void signal(ClockPin &pin, EmuTime::param time)=0
virtual void signalPosEdge(ClockPin &pin, EmuTime::param time)=0
unsigned getTicksBetween(EmuTime::param begin, EmuTime::param end) const
void generateEdgeSignals(bool wanted, EmuTime::param time)
void setState(bool status, EmuTime::param time)
void serialize(Archive &ar, unsigned version)
bool getState(EmuTime::param time) const
EmuDuration::param getHighDuration() const
void setPeriodicState(EmuDuration::param total, EmuDuration::param hi, EmuTime::param time)
EmuDuration::param getTotalDuration() const
Every class that wants to get scheduled at some point must inherit from this class.
This file implemented 3 utility functions:
constexpr auto begin(const zstring_view &x)
constexpr auto end(const zstring_view &x)