#pragma once inline void**& GetVirtualTable(void* baseclass) { return *reinterpret_cast(baseclass); } template inline Fn GetVirtualFunction(void* baseclass, size_t index) { return reinterpret_cast(GetVirtualTable(baseclass)[index]); }