Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
IPropertyGetter.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/script_core/reflection/ReturnPolicy.h"
7
8namespace Scripting::Reflection {
9
10class IPropertyGetter {
11public:
12 // member variables
13 // NOLINTBEGIN
16 // NOLINTEND
17
18public:
19 // prevent constructor by default
20 IPropertyGetter& operator=(IPropertyGetter const&);
21 IPropertyGetter(IPropertyGetter const&);
22 IPropertyGetter();
23
24public:
25 // virtual functions
26 // NOLINTBEGIN
27 virtual ~IPropertyGetter() = default;
28
29 virtual ::entt::meta_any get(::entt::meta_handle) = 0;
30
31 virtual ::entt::meta_type type() const = 0;
32
33 virtual ::std::optional<::entt::meta_type> ownerType() const = 0;
34
35 virtual ::Scripting::Reflection::ReturnPolicy getReturnPolicy() const = 0;
36
37 virtual bool isReferenceType() const = 0;
38 // NOLINTEND
39
40public:
41 // vftables
42 // NOLINTBEGIN
43 MCNAPI static void** $vftable();
44 // NOLINTEND
45};
46
47} // namespace Scripting::Reflection
Definition Alias.h:14