LeviLamina
Loading...
Searching...
No Matches
BinaryStream.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/network/serialize/serialize.h"
5
6// auto generated inclusion list
7#include "mc/deps/core/utility/ReadOnlyBinaryStream.h"
8#include "mc/platform/brstd/function_ref.h"
9
11public:
12 // BinaryStream inner types declare
13 // clang-format off
14 struct ConditionBlock;
15 // clang-format on
16
17 // BinaryStream inner types define
19 public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<1, 1, bool> controlValue;
23 ::ll::TypedStorage<8, 16, ::brstd::function_ref<void(::BinaryStream&)>> writeCondition;
24 ::ll::TypedStorage<8, 8, char const*> docFieldName;
25 // NOLINTEND
26 };
27
28public:
29 template <typename T>
30 inline void writeType(T const& x, char const* = nullptr, char const* = nullptr) {
31 serialize<T>::write(x, *this);
32 }
33
34 MCTAPI void writeType(class BlockPos const&, char const*, char const*);
35 MCTAPI void writeType(class Vec3 const&, char const*, char const*);
36 MCTAPI void writeType(class MoveActorAbsoluteData const&, char const*, char const*);
37 MCTAPI void writeType(class BaseGameVersion const&, char const*, char const*);
38 MCTAPI void writeType(struct ActorLink const&, char const*, char const*);
39 MCTAPI void writeType(struct GameRulesChangedPacketData const&, char const*, char const*);
40
41 BinaryStream() : ReadOnlyBinaryStream({}, true), mBuffer(mOwnedBuffer) {}
42 BinaryStream(std::string& buffer) : ReadOnlyBinaryStream(buffer, false), mBuffer(buffer) {}
43
44public:
45 // member variables
46 // NOLINTBEGIN
47 ::std::string& mBuffer;
48 // NOLINTEND
49
50public:
51 // virtual functions
52 // NOLINTBEGIN
53 // vIndex: 0
54 virtual ~BinaryStream() /*override*/;
55
56 // vIndex: 2
57 virtual void writeBool(bool value, char const* docFieldName, char const* docFieldNotes);
58
59 // vIndex: 3
60 virtual void writeByte(uchar value, char const* docFieldName, char const* docFieldNotes);
61
62 // vIndex: 4
63 virtual void writeUnsignedShort(ushort value, char const* docFieldName, char const* docFieldNotes);
64
65 // vIndex: 5
66 virtual void writeSignedShort(short value, char const* docFieldName, char const* docFieldNotes);
67
68 // vIndex: 6
69 virtual void writeUnsignedInt(uint value, char const* docFieldName, char const* docFieldNotes);
70
71 // vIndex: 7
72 virtual void writeSignedBigEndianInt(int value, char const* docFieldName, char const* docFieldNotes);
73
74 // vIndex: 8
75 virtual void writeSignedInt(int value, char const* docFieldName, char const* docFieldNotes);
76
77 // vIndex: 9
78 virtual void writeUnsignedInt64(uint64 value, char const* docFieldName, char const* docFieldNotes);
79
80 // vIndex: 10
81 virtual void writeSignedInt64(int64 value, char const* docFieldName, char const* docFieldNotes);
82
83 // vIndex: 11
84 virtual void writeUnsignedVarInt(uint uvalue, char const* docFieldName, char const* docFieldNotes);
85
86 // vIndex: 12
87 virtual void writeUnsignedVarInt64(uint64 uvalue, char const* docFieldName, char const* docFieldNotes);
88
89 // vIndex: 13
90 virtual void writeVarInt(int value, char const* docFieldName, char const* docFieldNotes);
91
92 // vIndex: 14
93 virtual void writeVarInt64(int64 value, char const* docFieldName, char const* docFieldNotes);
94
95 // vIndex: 15
96 virtual void writeDouble(double value, char const* docFieldName, char const* docFieldNotes);
97
98 // vIndex: 16
99 virtual void writeFloat(float value, char const* docFieldName, char const* docFieldNotes);
100
101 // vIndex: 17
102 virtual void writeFixedFloat(float value, char const* docFieldName, char const* docFieldNotes, double size);
103
104 // vIndex: 18
105 virtual void writeNormalizedFloat(float value, char const* docFieldName, char const* docFieldNotes);
106
107 // vIndex: 19
108 virtual void writeString(::std::string_view value, char const* docFieldName, char const* docFieldNotes);
109
110 // vIndex: 20
111 virtual void writeIf(
112 bool controlValue,
113 char const* docFieldName,
114 ::brstd::function_ref<void(::BinaryStream&)> const& writeIfTrue,
115 ::std::optional<::brstd::function_ref<void(::BinaryStream&)>> const& writeIfFalse
116 );
117
118 // vIndex: 21
119 virtual void writeConditional(
120 char const* docFieldName,
121 ::std::initializer_list<::BinaryStream::ConditionBlock>&& conditions,
122 ::std::optional<::brstd::function_ref<void(::BinaryStream&)>> const& writeDefault
123 );
124
125 // vIndex: 23
126 virtual void branchingWrite_DEPRECATED(
127 ::std::function<void(::BinaryStream&, int)>&& branchWriter,
128 int controlValue,
129 int docRangeBegin,
130 int docRangeEnd,
131 char const* controlDocFieldName
132 );
133
134 // vIndex: 22
135 virtual void branchingWrite_DEPRECATED(
136 ::std::function<void(::BinaryStream&, int)>&& branchWriter,
137 int controlValue,
138 ::std::vector<int> const& docControlSet,
139 char const* controlDocFieldName
140 );
141
142 // vIndex: 24
143 virtual void _writeArray(
144 ::std::function<void(::BinaryStream&)>&& sizeWriter,
145 ::std::function<void(::BinaryStream&)>&& writer,
146 char const* docFieldName,
147 char const* docFieldNotes
148 );
149 // NOLINTEND
150
151public:
152 // member functions
153 // NOLINTBEGIN
154 MCAPI BinaryStream(::std::string& buffer, bool copyBuffer);
155
156 MCAPI void write(void const* origin, uint64 num);
157
158 MCFOLD void writeUnsignedChar(uchar value, char const* docFieldName, char const* docFieldNotes);
159 // NOLINTEND
160
161public:
162 // constructor thunks
163 // NOLINTBEGIN
164 MCAPI void* $ctor(::std::string& buffer, bool copyBuffer);
165 // NOLINTEND
166
167public:
168 // destructor thunk
169 // NOLINTBEGIN
170 MCFOLD void $dtor();
171 // NOLINTEND
172
173public:
174 // virtual function thunks
175 // NOLINTBEGIN
176 MCAPI void $writeBool(bool value, char const* docFieldName, char const* docFieldNotes);
177
178 MCFOLD void $writeByte(uchar value, char const* docFieldName, char const* docFieldNotes);
179
180 MCFOLD void $writeUnsignedShort(ushort value, char const* docFieldName, char const* docFieldNotes);
181
182 MCFOLD void $writeSignedShort(short value, char const* docFieldName, char const* docFieldNotes);
183
184 MCFOLD void $writeUnsignedInt(uint value, char const* docFieldName, char const* docFieldNotes);
185
186 MCAPI void $writeSignedBigEndianInt(int value, char const* docFieldName, char const* docFieldNotes);
187
188 MCFOLD void $writeSignedInt(int value, char const* docFieldName, char const* docFieldNotes);
189
190 MCFOLD void $writeUnsignedInt64(uint64 value, char const* docFieldName, char const* docFieldNotes);
191
192 MCFOLD void $writeSignedInt64(int64 value, char const* docFieldName, char const* docFieldNotes);
193
194 MCAPI void $writeUnsignedVarInt(uint uvalue, char const* docFieldName, char const* docFieldNotes);
195
196 MCAPI void $writeUnsignedVarInt64(uint64 uvalue, char const* docFieldName, char const* docFieldNotes);
197
198 MCAPI void $writeVarInt(int value, char const* docFieldName, char const* docFieldNotes);
199
200 MCAPI void $writeVarInt64(int64 value, char const* docFieldName, char const* docFieldNotes);
201
202 MCAPI void $writeDouble(double value, char const* docFieldName, char const* docFieldNotes);
203
204 MCAPI void $writeFloat(float value, char const* docFieldName, char const* docFieldNotes);
205
206 MCAPI void $writeFixedFloat(float value, char const* docFieldName, char const* docFieldNotes, double size);
207
208 MCAPI void $writeNormalizedFloat(float value, char const* docFieldName, char const* docFieldNotes);
209
210 MCAPI void $writeString(::std::string_view value, char const* docFieldName, char const* docFieldNotes);
211
212 MCAPI void $writeIf(
213 bool controlValue,
214 char const* docFieldName,
215 ::brstd::function_ref<void(::BinaryStream&)> const& writeIfTrue,
216 ::std::optional<::brstd::function_ref<void(::BinaryStream&)>> const& writeIfFalse
217 );
218
219 MCAPI void $writeConditional(
220 char const* docFieldName,
221 ::std::initializer_list<::BinaryStream::ConditionBlock>&& conditions,
222 ::std::optional<::brstd::function_ref<void(::BinaryStream&)>> const& writeDefault
223 );
224
225 MCFOLD void $branchingWrite_DEPRECATED(
226 ::std::function<void(::BinaryStream&, int)>&& branchWriter,
227 int controlValue,
228 int docRangeBegin,
229 int docRangeEnd,
230 char const* controlDocFieldName
231 );
232
233 MCFOLD void $branchingWrite_DEPRECATED(
234 ::std::function<void(::BinaryStream&, int)>&& branchWriter,
235 int controlValue,
236 ::std::vector<int> const& docControlSet,
237 char const* controlDocFieldName
238 );
239
240 MCAPI void $_writeArray(
241 ::std::function<void(::BinaryStream&)>&& sizeWriter,
242 ::std::function<void(::BinaryStream&)>&& writer,
243 char const* docFieldName,
244 char const* docFieldNotes
245 );
246 // NOLINTEND
247
248public:
249 // vftables
250 // NOLINTBEGIN
251 MCAPI static void** $vftable();
252 // NOLINTEND
253};
Definition BaseGameVersion.h:13
Definition BinaryStream.h:10
Definition BlockPos.h:18
Definition GameRulesChangedPacketData.h:10
Definition MoveActorAbsoluteData.h:13
Definition ReadOnlyBinaryStream.h:8
Definition Vec3.h:10
Definition function_ref.h:60
Definition BinaryStream.h:18
Definition buffer.h:5
Definition serialize.h:11