22 lines
		
	
	
		
			466 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			466 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include <string>
 | |
| namespace refl {
 | |
| 	class UClass;
 | |
| 	class FieldPtr;
 | |
| 	class ObjectView {
 | |
| 	public:
 | |
| 		const char* ptr;
 | |
| 		const UClass* cls;
 | |
| 		const FieldPtr* cache{nullptr};
 | |
| 		ObjectView(void* ptr, const UClass* cls) : ptr((const char*)ptr), cls(cls){}
 | |
| 	public:
 | |
| 
 | |
| 		template<typename T>
 | |
| 		bool Get(const Name& name, T& t);
 | |
| 
 | |
| 		template<typename T>
 | |
| 		bool Set(const Name& name, const T& t);
 | |
| 
 | |
| 		template<typename ...Args>
 | |
| 		bool Invoke(const Name& name, Args... args);
 | |
| 	};
 | |
| } |