The issue:
Another day while developing my game engine I had to handle events (which inherited from a common interface). The problem was...
For further actions, you may consider blocking this person and/or reporting abuse
Hello!
I have almost skipped the "A solution" section. The code is impressive, I don't have time to understand it now, but it looks like a great template work :D
However, while reading the "Usage" section, I tend to believe you could have used
std::variantfrom C++17. Here is an example:It is absolutely different from your solution: I don't create an ID that identifies a class. But I can determine the actual type of a generic event so that I can use its specific member functions.