How do I determine if a class indirectly inherits from a base class?
You can use std::is_base_of to check if a class inherits from some base class, but how do I know if a class doesn't directly inherit from that class (i.e inherits indirectly from that class)?