LeviLamina
Loading...
Searching...
No Matches
FilterGroup.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/filters/FilterTest.h"
7
8// auto generated forward declare list
9// clang-format off
10class FilterInput;
11class FilterTest;
12struct FilterContext;
13struct FilterInputs;
15namespace Json { class Value; }
16namespace SharedTypes::v1_21_20 { struct FilterGroupData; }
17namespace SharedTypes::v1_21_20 { struct FilterTestData; }
18// clang-format on
19
21public:
22 // FilterGroup inner types define
23 enum class CollectionType : int {
24 And = 0,
25 Or = 1,
26 Not = 2,
27 };
28
29public:
30 // member variables
31 // NOLINTBEGIN
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 FilterGroup& operator=(FilterGroup const&);
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 // vIndex: 0
46 virtual ~FilterGroup() = default;
47
48 // vIndex: 1
49 virtual bool parse(::Json::Value const& jsonVal);
50
51 // vIndex: 2
52 virtual ::std::shared_ptr<::FilterGroup> _createSubgroup(::FilterGroup::CollectionType) const = 0;
53
54 // vIndex: 3
55 virtual bool _setupContext(::FilterTest const& test, ::FilterContext& context) const;
56 // NOLINTEND
57
58public:
59 // member functions
60 // NOLINTBEGIN
61 MCAPI FilterGroup(::FilterGroup const&);
62
63 MCAPI bool _parseFilterInputs(
64 ::SharedTypes::v1_21_20::FilterTestData const& filterTestData,
65 ::FilterTest::Definition const& filterDef,
66 ::FilterInputs& inputs
67 );
68
69 MCAPI bool _parseFilterParam(
70 ::std::string const& filter,
71 ::std::string const& member,
72 ::std::optional<::std::variant<bool, int, float, ::std::string>> param,
73 ::FilterParamDefinition const& paramDef,
74 ::FilterInput& input
75 );
76
77 MCAPI bool _parseMemberCollection(
78 ::FilterGroup::CollectionType collectionType,
79 ::SharedTypes::v1_21_20::FilterGroupData const& filterGroupData
80 );
81
82 MCAPI bool _parseObject(::SharedTypes::v1_21_20::FilterGroupData const& filterGroupData);
83
84 MCAPI bool _parseTest(::SharedTypes::v1_21_20::FilterTestData const& filterTestData);
85
86 MCAPI bool addFilterTest(::FilterTest::Definition const& filterDef, ::FilterInputs const& inputs);
87
88 MCAPI bool evaluate(::std::array<::FilterContext, 10>& contextSet) const;
89
90 MCAPI void serialize(::Json::Value& jsonVal) const;
91 // NOLINTEND
92
93public:
94 // constructor thunks
95 // NOLINTBEGIN
96 MCAPI void* $ctor(::FilterGroup const&);
97 // NOLINTEND
98
99public:
100 // destructor thunk
101 // NOLINTBEGIN
102
103 // NOLINTEND
104
105public:
106 // virtual function thunks
107 // NOLINTBEGIN
108 MCAPI bool $parse(::Json::Value const& jsonVal);
109
110 MCAPI bool $_setupContext(::FilterTest const& test, ::FilterContext& context) const;
111 // NOLINTEND
112
113public:
114 // vftables
115 // NOLINTBEGIN
116 MCAPI static void** $vftable();
117 // NOLINTEND
118};
Definition FilterGroup.h:20
Definition FilterInput.h:5
Definition FilterTest.h:13
Definition Value.h:16
Definition FilterContext.h:5
Definition FilterInputs.h:14
Definition FilterParamDefinition.h:16
Definition FilterTest.h:21
Definition FilterGroupData.h:12
Definition FilterTestData.h:12
Definition context.h:5
Definition Alias.h:14
Definition serialize.h:11