LeviLamina
Loading...
Searching...
No Matches
IFunction.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7namespace Scripting { struct ArgumentDetails; }
8// clang-format on
9
10namespace Scripting::Reflection {
11
12class IFunction {
13public:
14 // member variables
15 // NOLINTBEGIN
20 // NOLINTEND
21
22public:
23 // prevent constructor by default
24 IFunction& operator=(IFunction const&);
25 IFunction(IFunction const&);
26 IFunction();
27
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual ~IFunction();
32
33 virtual ::entt::meta_any call(::entt::meta_handle, ::entt::meta_any*, uint) = 0;
34
35 virtual ::entt::meta_type getReturnType() const = 0;
36
37 virtual uint getArgCount() const = 0;
38
39 virtual ::entt::meta_type getArgType(uint) const = 0;
40
41 virtual ::entt::meta_any const& getDefaultArg(uint) const = 0;
42
43 virtual bool isValidArgumentValue(::entt::meta_any const&, uint) const = 0;
44
45 virtual ::std::optional<::entt::meta_type> getInstanceType() const = 0;
46
47 virtual ::Scripting::ArgumentDetails const& getArgDetails(uint) const = 0;
48 // NOLINTEND
49
50public:
51 // destructor thunk
52 // NOLINTBEGIN
53 MCNAPI void $dtor();
54 // NOLINTEND
55
56public:
57 // virtual function thunks
58 // NOLINTBEGIN
59
60 // NOLINTEND
61
62public:
63 // vftables
64 // NOLINTBEGIN
65 MCNAPI static void** $vftable();
66 // NOLINTEND
67};
68
69} // namespace Scripting::Reflection
static MCAPI void ** $vftable()
Definition ArgumentDetails.h:7
Definition Alias.h:14