-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathcpp.hint
6 lines (6 loc) · 2.08 KB
/
cpp.hint
1
2
3
4
5
6
// Hint files help the Visual Studio IDE interpret Visual C++ identifiers
// such as names of functions and macros.
// For more information see https://go.microsoft.com/fwlink/?linkid=865984
#define DECLARE_CLASS_CODEGEN(namespaze, name, baseT, __VA_ARGS__) namespace namespaze { class name; } template<> struct ::custom_types::name_registry<namespaze::name> { static inline ::custom_types::type_info* get() { _logger().debug("returning type_info for: %s::%s", #namespaze, #name); return new ::custom_types::type_info(Il2CppTypeEnum::IL2CPP_TYPE_CLASS, #namespaze, #name, ::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<baseT*>::get(), {}, false); } }; namespace namespaze { class name : public baseT { using ___Target__Type = name; constexpr static auto ___Base__Size = sizeof(baseT); friend ::custom_types::Register; friend ::custom_types::has_func_register<name, void*>; public: static const Il2CppClass* __klass; __VA_ARGS__ }; } template<> struct ::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<::namespaze::name*> { static inline Il2CppClass* get() { return const_cast<Il2CppClass*>(::namespaze::name::__klass); } };
#define DECLARE_CLASS_CODEGEN(namespaze, name, baseT, __VA_ARGS__) namespace namespaze { class name; } template<> struct ::custom_types::name_registry<namespaze::name> { static inline ::custom_types::type_info* get() { _logger().debug("returning type_info for: %s::%s", #namespaze, #name); return new ::custom_types::type_info(Il2CppTypeEnum::IL2CPP_TYPE_CLASS, #namespaze, #name, ::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<baseT*>::get(), {}, false); } }; namespace namespaze { class name : public baseT { using ___Target__Type = name; constexpr static auto ___Base__Size = sizeof(baseT); friend ::custom_types::Register; public: static const Il2CppClass* __klass; __VA_ARGS__ }; } template<> struct ::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<::namespaze::name*> { static inline Il2CppClass* get() { return const_cast<Il2CppClass*>(::namespaze::name::__klass); } };
#define classof(__VA_ARGS__) (::il2cpp_utils::il2cpp_type_check::il2cpp_no_arg_class<__VA_ARGS__>::get())