Going back to the technical implementation part, depending on the C++ version, and being able to understand the target at compile time, no need to do it manually and hacky.
There is enough support in constexpr, consteval, concepts, and now compile time reflection, to do it automatically, assuming the dispatch target can be resolved at compile time.
Going back to the technical implementation part, depending on the C++ version, and being able to understand the target at compile time, no need to do it manually and hacky.
There is enough support in constexpr, consteval, concepts, and now compile time reflection, to do it automatically, assuming the dispatch target can be resolved at compile time.