13 lines
		
	
	
		
			393 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			13 lines
		
	
	
		
			393 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| inline void**& GetVirtualTable(void* baseclass) {
 | |
| 	return *reinterpret_cast<void***>(baseclass);
 | |
| }
 | |
| 
 | |
| inline void* GetVirtualFunction(void* vftable, size_t index) {
 | |
| 	return reinterpret_cast<void*>(GetVirtualTable(vftable)[index]);
 | |
| }
 | |
| 
 | |
| template <typename Fn> inline Fn GetVirtualFunction(void* vftable, size_t index) {
 | |
| 	return reinterpret_cast<Fn>(GetVirtualTable(vftable)[index]);
 | |
| } |