1use super::class_requires::*;
2use super::*;
3#[allow(non_upper_case_globals, non_snake_case)]
10#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
11#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
12#[derive(educe::Educe)]
13#[educe(Debug, Clone, Default, PartialEq)]
14pub struct hkMonitorStreamStringMapStringMap<'a> {
15 #[cfg_attr(
22 feature = "serde",
23 serde(skip_serializing_if = "Option::is_none", default)
24 )]
25 pub __ptr: Option<Pointer>,
26 #[cfg_attr(feature = "json_schema", schemars(rename = "id"))]
32 #[cfg_attr(feature = "serde", serde(rename = "id"))]
33 pub m_id: u64,
34 #[cfg_attr(feature = "serde", serde(borrow))]
39 #[cfg_attr(feature = "json_schema", schemars(rename = "string"))]
40 #[cfg_attr(feature = "serde", serde(rename = "string"))]
41 pub m_string: StringPtr<'a>,
42}
43const _: () = {
44 use havok_serde as _serde;
45 impl<'a> _serde::HavokClass for hkMonitorStreamStringMapStringMap<'a> {
46 #[inline]
47 fn name(&self) -> &'static str {
48 "hkMonitorStreamStringMapStringMap"
49 }
50 #[inline]
51 fn signature(&self) -> _serde::__private::Signature {
52 _serde::__private::Signature::new(0x2c76ce16)
53 }
54 #[allow(clippy::let_and_return, clippy::vec_init_then_push)]
55 fn deps_indexes(&self) -> Vec<usize> {
56 let mut v = Vec::new();
57 v
58 }
59 }
60 impl<'a> _serde::Serialize for hkMonitorStreamStringMapStringMap<'a> {
61 fn serialize<S>(&self, __serializer: S) -> Result<S::Ok, S::Error>
62 where
63 S: _serde::ser::Serializer,
64 {
65 let class_meta = self
66 .__ptr
67 .map(|name| (name, _serde::__private::Signature::new(0x2c76ce16)));
68 let mut serializer = __serializer
69 .serialize_struct(
70 "hkMonitorStreamStringMapStringMap",
71 class_meta,
72 (16u64, 16u64),
73 )?;
74 serializer.serialize_field("id", &self.m_id)?;
75 serializer.serialize_field("string", &self.m_string)?;
76 serializer.pad_field([0u8; 4usize].as_slice(), [0u8; 0usize].as_slice())?;
77 serializer.end()
78 }
79 }
80};
81#[doc(hidden)]
82#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
83const _: () = {
84 use havok_serde as _serde;
85 #[automatically_derived]
86 impl<'de> _serde::Deserialize<'de> for hkMonitorStreamStringMapStringMap<'de> {
87 fn deserialize<__D>(deserializer: __D) -> core::result::Result<Self, __D::Error>
88 where
89 __D: _serde::Deserializer<'de>,
90 {
91 #[allow(non_camel_case_types)]
92 enum __Field {
93 m_id,
94 m_string,
95 __ignore,
96 }
97 struct __FieldVisitor;
98 impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
99 type Value = __Field;
100 fn expecting(
101 &self,
102 __formatter: &mut core::fmt::Formatter,
103 ) -> core::fmt::Result {
104 core::fmt::Formatter::write_str(__formatter, "field identifier")
105 }
106 #[allow(clippy::match_single_binding)]
108 #[allow(clippy::reversed_empty_ranges)]
109 #[allow(clippy::single_match)]
110 fn visit_key<__E>(
111 self,
112 __value: &str,
113 ) -> core::result::Result<Self::Value, __E>
114 where
115 __E: _serde::de::Error,
116 {
117 match __value {
118 "id" => Ok(__Field::m_id),
119 "string" => Ok(__Field::m_string),
120 _ => Ok(__Field::__ignore),
121 }
122 }
123 }
124 impl<'de> _serde::Deserialize<'de> for __Field {
125 #[inline]
126 fn deserialize<__D>(
127 __deserializer: __D,
128 ) -> core::result::Result<Self, __D::Error>
129 where
130 __D: _serde::Deserializer<'de>,
131 {
132 _serde::Deserializer::deserialize_key(__deserializer, __FieldVisitor)
133 }
134 }
135 struct __hkMonitorStreamStringMapStringMapVisitor<'de> {
136 marker: _serde::__private::PhantomData<
137 hkMonitorStreamStringMapStringMap<'de>,
138 >,
139 lifetime: _serde::__private::PhantomData<&'de ()>,
140 }
141 #[allow(clippy::match_single_binding)]
142 #[allow(clippy::reversed_empty_ranges)]
143 #[allow(clippy::single_match)]
144 impl<'de> _serde::de::Visitor<'de>
145 for __hkMonitorStreamStringMapStringMapVisitor<'de> {
146 type Value = hkMonitorStreamStringMapStringMap<'de>;
147 fn expecting(
148 &self,
149 __formatter: &mut core::fmt::Formatter,
150 ) -> core::fmt::Result {
151 core::fmt::Formatter::write_str(
152 __formatter,
153 "struct hkMonitorStreamStringMapStringMap",
154 )
155 }
156 fn visit_struct_for_bytes<__A>(
157 self,
158 mut __map: __A,
159 ) -> _serde::__private::Result<Self::Value, __A::Error>
160 where
161 __A: _serde::de::MapAccess<'de>,
162 {
163 let __ptr = __A::class_ptr(&mut __map);
164 let mut m_id: _serde::__private::Option<u64> = _serde::__private::None;
165 let mut m_string: _serde::__private::Option<StringPtr<'de>> = _serde::__private::None;
166 for i in 0..2usize {
167 match i {
168 0usize => {
169 if _serde::__private::Option::is_some(&m_id) {
170 return _serde::__private::Err(
171 <__A::Error as _serde::de::Error>::duplicate_field("id"),
172 );
173 }
174 m_id = _serde::__private::Some(
175 match __A::next_value::<u64>(&mut __map) {
176 _serde::__private::Ok(__val) => __val,
177 _serde::__private::Err(__err) => {
178 return _serde::__private::Err(__err);
179 }
180 },
181 );
182 }
183 1usize => {
184 if _serde::__private::Option::is_some(&m_string) {
185 return _serde::__private::Err(
186 <__A::Error as _serde::de::Error>::duplicate_field("string"),
187 );
188 }
189 m_string = _serde::__private::Some(
190 match __A::next_value::<StringPtr<'de>>(&mut __map) {
191 _serde::__private::Ok(__val) => __val,
192 _serde::__private::Err(__err) => {
193 return _serde::__private::Err(__err);
194 }
195 },
196 );
197 }
198 _ => {}
199 }
200 }
201 __A::pad(&mut __map, 4usize, 0usize)?;
202 let m_id = match m_id {
203 _serde::__private::Some(__field) => __field,
204 _serde::__private::None => {
205 return _serde::__private::Err(
206 <__A::Error as _serde::de::Error>::missing_field("id"),
207 );
208 }
209 };
210 let m_string = match m_string {
211 _serde::__private::Some(__field) => __field,
212 _serde::__private::None => {
213 return _serde::__private::Err(
214 <__A::Error as _serde::de::Error>::missing_field("string"),
215 );
216 }
217 };
218 _serde::__private::Ok(hkMonitorStreamStringMapStringMap {
219 __ptr,
220 m_id,
221 m_string,
222 })
223 }
224 #[allow(clippy::manual_unwrap_or_default)]
225 fn visit_struct<__A>(
226 self,
227 mut __map: __A,
228 ) -> _serde::__private::Result<Self::Value, __A::Error>
229 where
230 __A: _serde::de::MapAccess<'de>,
231 {
232 let mut m_id: _serde::__private::Option<u64> = _serde::__private::None;
233 let mut m_string: _serde::__private::Option<StringPtr<'de>> = _serde::__private::None;
234 while let _serde::__private::Some(__key) = {
235 __A::next_key::<__Field>(&mut __map)?
236 } {
237 match __key {
238 __Field::m_id => {
239 #[cfg(
240 any(feature = "strict", feature = "ignore_duplicates")
241 )]
242 if _serde::__private::Option::is_some(&m_id) {
243 #[cfg(feature = "ignore_duplicates")]
244 {
245 __A::skip_value(&mut __map)?;
246 continue;
247 }
248 #[cfg(feature = "strict")]
249 return _serde::__private::Err(
250 <__A::Error as _serde::de::Error>::duplicate_field("id"),
251 );
252 }
253 m_id = _serde::__private::Some(
254 match __A::next_value::<u64>(&mut __map) {
255 _serde::__private::Ok(__val) => __val,
256 _serde::__private::Err(__err) => {
257 return _serde::__private::Err(__err);
258 }
259 },
260 );
261 }
262 __Field::m_string => {
263 #[cfg(
264 any(feature = "strict", feature = "ignore_duplicates")
265 )]
266 if _serde::__private::Option::is_some(&m_string) {
267 #[cfg(feature = "ignore_duplicates")]
268 {
269 __A::skip_value(&mut __map)?;
270 continue;
271 }
272 #[cfg(feature = "strict")]
273 return _serde::__private::Err(
274 <__A::Error as _serde::de::Error>::duplicate_field("string"),
275 );
276 }
277 m_string = _serde::__private::Some(
278 match __A::next_value::<StringPtr<'de>>(&mut __map) {
279 _serde::__private::Ok(__val) => __val,
280 _serde::__private::Err(__err) => {
281 return _serde::__private::Err(__err);
282 }
283 },
284 );
285 }
286 _ => __A::skip_value(&mut __map)?,
287 }
288 }
289 let m_id = match m_id {
290 _serde::__private::Some(__field) => __field,
291 _serde::__private::None => {
292 #[cfg(feature = "strict")]
293 return _serde::__private::Err(
294 <__A::Error as _serde::de::Error>::missing_field("id"),
295 );
296 #[cfg(not(feature = "strict"))] Default::default()
297 }
298 };
299 let m_string = match m_string {
300 _serde::__private::Some(__field) => __field,
301 _serde::__private::None => {
302 #[cfg(feature = "strict")]
303 return _serde::__private::Err(
304 <__A::Error as _serde::de::Error>::missing_field("string"),
305 );
306 #[cfg(not(feature = "strict"))] Default::default()
307 }
308 };
309 let __ptr = __A::class_ptr(&mut __map);
310 _serde::__private::Ok(hkMonitorStreamStringMapStringMap {
311 __ptr,
312 m_id,
313 m_string,
314 })
315 }
316 }
317 const FIELDS: &[&str] = &["id", "string"];
318 _serde::Deserializer::deserialize_struct(
319 deserializer,
320 "hkMonitorStreamStringMapStringMap",
321 FIELDS,
322 __hkMonitorStreamStringMapStringMapVisitor {
323 marker: _serde::__private::PhantomData::<
324 hkMonitorStreamStringMapStringMap,
325 >,
326 lifetime: _serde::__private::PhantomData,
327 },
328 )
329 }
330 }
331};