LeviLamina
Loading...
Searching...
No Matches
BasicSchema.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/cereal/ContextArea.h"
7#include "mc/deps/cereal/schema/SerializationTraits.h"
8#include "mc/deps/cereal/schema/VariantPriorityLevel.h"
9#include "mc/external/cereal/StringViewHash.h"
10#include "mc/platform/brstd/flat_set.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace cereal { class Constraint; }
15namespace cereal { class SerializerContext; }
16namespace cereal { struct DescriptionConfig; }
17namespace cereal { struct MetaVisitor; }
18namespace cereal { struct SchemaDescription; }
19namespace cereal { struct SchemaReader; }
20namespace cereal { struct SchemaWriter; }
21namespace cereal::internal { struct LoadState; }
22namespace cereal::internal { struct OverrideState; }
23namespace cereal::internal { struct ReflectionContext; }
24namespace cereal::internal { struct SaveState; }
25// clang-format on
26
27namespace cereal::internal {
28
30public:
31 // BasicSchema inner types declare
32 // clang-format off
33 struct DynamicSetterArg;
34 struct GetterDescriptor;
35 struct MemberDescriptor;
36 struct MemberFamily;
37 struct SetterDescriptor;
39 struct TypeDescriptor;
40 // clang-format on
41
42 // BasicSchema inner types define
44 public:
45 // member variables
46 // NOLINTBEGIN
47 ::ll::TypedStorage<8, 64, ::entt::meta_any> mArg;
48 ::ll::TypedStorage<8, 8, ::gsl::not_null<::cereal::SerializerContext const*>> mContext;
49 // NOLINTEND
50 };
51
53 public:
54 // member variables
55 // NOLINTBEGIN
56 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cereal::internal::BasicSchema>> mPtr;
57 ::ll::TypedStorage<1, 1, ::cereal::ContextArea> mAllowedAreas;
58 // NOLINTEND
59 };
60
62 public:
63 // member variables
64 // NOLINTBEGIN
65 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cereal::internal::BasicSchema>> mPtr;
66 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cereal::Constraint>> mConstraint;
67 ::ll::TypedStorage<8, 32, ::std::string> mNameExt;
68 ::ll::TypedStorage<8, 32, ::std::string> mName;
69 ::ll::TypedStorage<8, 8, ::entt::meta_type (*)(::entt::meta_ctx const&)> mDynamicSetterArgCtor;
70 ::ll::TypedStorage<
71 8,
72 72,
73 ::entt::dense_map<
74 ::std::string,
75 ::std::pair<::entt::meta_type (*)(::entt::meta_ctx const&), ::entt::basic_any<16, 8>>,
77 ::std::equal_to<void>>>
78 mUserPropertiesMap;
79 ::ll::TypedStorage<
80 8,
81 24,
84 ::std::less<void>,
85 ::std::vector<::cereal::internal::OverrideState>>>
86 mOverridingTypes;
87 ::ll::TypedStorage<8, 32, ::std::string> mErrorMessage;
88 ::ll::TypedStorage<1, 1, ::cereal::SerializationTraits> mSerializationTraits;
89 ::ll::TypedStorage<1, 1, ::cereal::ContextArea> mAllowedAreas;
90 ::ll::TypedStorage<1, 1, bool> mIsDeprecatedComponent;
91 // NOLINTEND
92
93 public:
94 // member functions
95 // NOLINTBEGIN
96 MCAPI ~MemberDescriptor();
97 // NOLINTEND
98
99 public:
100 // destructor thunk
101 // NOLINTBEGIN
102 MCAPI void $dtor();
103 // NOLINTEND
104 };
105
107 public:
108 // member variables
109 // NOLINTBEGIN
110 ::ll::TypedStorage<8, 16, ::std::string_view> mPrefix;
111 ::ll::TypedStorage<8, 40, ::std::basic_regex<char, ::std::regex_traits<char>>> mRegex;
112 ::ll::TypedStorage<4, 4, uint> mMemberId;
113 // NOLINTEND
114 };
115
117 public:
118 // member variables
119 // NOLINTBEGIN
120 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cereal::internal::BasicSchema>> mPtr;
121 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cereal::Constraint>> mConstraint;
122 ::ll::TypedStorage<1, 1, ::cereal::ContextArea> mAllowedAreas;
123 // NOLINTEND
124 };
125
127 public:
128 // member variables
129 // NOLINTBEGIN
130 ::ll::TypedStorage<8, 8, ::entt::meta_type (*)(::entt::meta_ctx const&)> mResolve;
131 ::ll::TypedStorage<8, 32, ::std::string> mTaggedName;
132 // NOLINTEND
133 };
134
136 public:
137 // member variables
138 // NOLINTBEGIN
139 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cereal::internal::BasicSchema>> mPtr;
140 ::ll::TypedStorage<8, 32, ::std::string> mName;
141 ::ll::TypedStorage<
142 8,
143 72,
144 ::entt::dense_map<
145 ::std::string,
146 ::std::pair<::entt::meta_type (*)(::entt::meta_ctx const&), ::entt::basic_any<16, 8>>,
148 ::std::equal_to<void>>>
149 mUserPropertiesMap;
150 ::ll::TypedStorage<8, 24, ::std::vector<::cereal::internal::BasicSchema::MemberFamily>> mMemberFamilies;
151 ::ll::TypedStorage<8, 32, ::std::string> mErrorMessage;
152 // NOLINTEND
153
154 public:
155 // member functions
156 // NOLINTBEGIN
157 MCAPI ~TypeDescriptor();
158 // NOLINTEND
159
160 public:
161 // destructor thunk
162 // NOLINTBEGIN
163 MCAPI void $dtor();
164 // NOLINTEND
165 };
166
167 using DynamicGetterWrapper = ::entt::meta_any (*)(::entt::meta_any const&, ::cereal::SerializerContext const&);
168
169 using DynamicSetterArgCtor = ::entt::meta_type (*)(::entt::meta_ctx const&);
170
171 using IdType = uint;
172
173 using OverridingSet = ::brstd::flat_set<
175 ::std::less<void>,
176 ::std::vector<::cereal::internal::OverrideState>>;
177
178public:
179 // virtual functions
180 // NOLINTBEGIN
181 virtual ~BasicSchema() = default;
182
183 virtual bool isGreedy(::entt::meta_ctx const& ctx) const;
184
185 virtual ::cereal::internal::VariantPriorityLevel minVariantPriorityLevel(::entt::meta_ctx const& ctx) const;
186
187 virtual bool doMap(::entt::meta_any& src, ::entt::meta_any& dst, ::cereal::MetaVisitor& visitor) const;
188
189 virtual ::cereal::internal::BasicSchema const& doUnwrap(::entt::meta_any& elem, bool fillIfEmpty) const;
190
191 virtual void doLoad(
193 ::entt::meta_any& any,
194 ::entt::meta_any const& udata,
196 ) const;
197
198 virtual void doSave(
200 ::entt::meta_any const& any,
202 ) const;
203
204 virtual ::cereal::SchemaDescription
205 makeDescription(::cereal::internal::ReflectionContext const& ctx, ::cereal::DescriptionConfig config) const = 0;
206 // NOLINTEND
207
208public:
209 // member functions
210 // NOLINTBEGIN
211 MCAPI ::cereal::SchemaDescription
213
214 MCAPI void load(
216 ::entt::meta_any& any,
217 ::entt::meta_any const& udata,
219 ) const;
220
221 MCAPI bool
222 map(::cereal::internal::BasicSchema const& schema,
223 ::entt::meta_any& src,
224 ::entt::meta_any& dst,
225 ::cereal::MetaVisitor& visitor) const;
226
227 MCAPI void
228 save(::cereal::SchemaWriter& value, ::entt::meta_any const& any, ::cereal::internal::SaveState const& state) const;
229
230 MCAPI ::cereal::internal::BasicSchema const& unwrap(::entt::meta_any& elem, bool fillIfEmpty) const;
231 // NOLINTEND
232
233public:
234 // static functions
235 // NOLINTBEGIN
236 MCAPI static bool forwardDoMap(
238 ::entt::meta_any& src,
239 ::entt::meta_any& dst,
240 ::cereal::MetaVisitor& visitor
241 );
242
243 MCAPI static ::cereal::internal::BasicSchema const& lookup(::entt::meta_ctx const& ctx, ::entt::type_info info);
244 // NOLINTEND
245
246public:
247 // virtual function thunks
248 // NOLINTBEGIN
249 MCFOLD bool $isGreedy(::entt::meta_ctx const& ctx) const;
250
251 MCFOLD ::cereal::internal::VariantPriorityLevel $minVariantPriorityLevel(::entt::meta_ctx const& ctx) const;
252
253 MCFOLD bool $doMap(::entt::meta_any& src, ::entt::meta_any& dst, ::cereal::MetaVisitor& visitor) const;
254
255 MCFOLD ::cereal::internal::BasicSchema const& $doUnwrap(::entt::meta_any& elem, bool fillIfEmpty) const;
256
257
258 // NOLINTEND
259};
260
261} // namespace cereal::internal
Definition flat_set.h:10
Definition Constraint.h:17
Definition SerializerContext.h:17
Definition BasicSchema.h:29
Definition DescriptionConfig.h:12
Definition MetaVisitor.h:7
Definition SchemaDescription.h:21
Definition SchemaReader.h:12
Definition SchemaWriter.h:16
Definition LoadState.h:14
Definition OverrideState.h:10
Definition ReflectionContext.h:15
Definition SaveState.h:13
Definition StringViewHash.h:7
Definition ctx.h:5