An abstract interface representing a Clock.
This interface allows decoupling code that uses time from the code that creates a point in time. You can use this to your advantage by injecting Clocks into interfaces rather than having implementations call SystemClock::now()
directly. However, this comes at a cost of a vtable per implementation and more importantly passing and maintaining references to the VirtualClock for all of the users.
This interface is thread and IRQ safe.
Public Member Functions | |
virtual Clock::time_point | now ()=0 |
Returns the current time. | |