+/// ThreadBase struct is the base of the hierarchy from where we derive all the
+/// specialized thread classes.
+
+struct ThreadBase {
+
+ virtual ~ThreadBase() = default;
+ virtual void idle_loop() = 0;
+ void notify_one();
+ void wait_for(volatile const bool& b);
+
+ std::thread nativeThread;
+ std::mutex mutex;
+ std::condition_variable sleepCondition;
+ volatile bool exit = false;
+};
+
+