serde_hkx/bytes/ser/sub_ser/
seq.rs
1use super::super::ByteSerializer;
2use crate::errors::ser::{Error, Result};
3use havok_serde::{Serialize, ser::SerializeSeq};
4use havok_types::{CString, StringPtr};
5
6impl SerializeSeq for &mut ByteSerializer {
7 type Ok = ();
8 type Error = Error;
9
10 #[inline]
11 fn serialize_primitive_element<T>(
12 &mut self,
13 value: &T,
14 _index: usize,
15 _len: usize,
16 ) -> Result<(), Self::Error>
17 where
18 T: ?Sized + Serialize,
19 {
20 value.serialize(&mut **self)
21 }
22
23 #[inline]
27 fn serialize_class_element<T>(&mut self, value: &T) -> Result<()>
28 where
29 T: ?Sized + Serialize,
30 {
31 value.serialize(&mut **self)
32 }
33
34 #[inline]
35 fn serialize_math_element<T>(&mut self, value: &T) -> Result<()>
36 where
37 T: ?Sized + Serialize,
38 {
39 value.serialize(&mut **self)
40 }
41
42 #[inline]
43 fn serialize_cstring_element(&mut self, value: &CString) -> Result<()> {
44 value.serialize(&mut **self)
45 }
46
47 #[inline]
48 fn serialize_stringptr_element(&mut self, value: &StringPtr) -> Result<()> {
49 value.serialize(&mut **self)
50 }
51
52 #[inline]
53 fn end(self) -> Result<()> {
54 Ok(())
55 }
56}