1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#pragma once #include <cstdint> // TODO: delete singleton functionality class RotaryEncoder final { public: RotaryEncoder(); ~RotaryEncoder(); public: static RotaryEncoder* instance(); public: int32_t position() const; private: static inline RotaryEncoder* m_self { nullptr }; };