After re-reading your ofThread chapter in the ofBook, it dawned on me that we have 16000 microseconds to play with in-between frames. That is plenty of time to execute a full timer update, even as often as once per draw cycle, if it were really needed .. My Scheduler class does not need its own thread. I'm retaining the dual Timer objects for now, so that the temporary update timer can trigger the normalized periodic timer before being stopped and deleted. The threaded Timer function must also call Scheduler function, so that the scheduler in turn can communicate with the main program and take care of clean-up . . on a side note, it seems to require 30 - 100 microseconds to start a thread, and I do not understand why, because I have not done enough research into the ways of threads. I am concerned about the effect this has on the precision of my timer system .. perhaps these fraction-of-a-millis differences are somewhat arbitrary for now ..
Regardless, the Scheduler passes a this pointer to its child timer objects at their initialization, and so both classes require a forward declaration to one another, because each class declaration depends on the other. My improper use of forward declaration in this case is giving me an error.
For reference, this is the essence of & solution to my "Incomplete Type" error:
It makes perfect sense. I'm just learning about using Templates and the ways of inter-relating classes through Hierarchies and Friendship and Pointers and whatnot .. This is a great and puzzling adventure! C++ is an infinite puzzle! So fun!
~Peace