Skip to main content

object_rainbow/impls/
i8.rs

1use typenum::U1;
2
3use crate::*;
4
5impl ToOutput for i8 {
6    fn to_output(&self, output: &mut dyn crate::Output) {
7        if output.is_real() {
8            output.write(&self.to_le_bytes());
9        }
10    }
11}
12
13impl InlineOutput for i8 {}
14
15impl<I: ParseInput> Parse<I> for i8 {
16    fn parse(input: I) -> crate::Result<Self> {
17        ParseInline::parse_as_inline(input)
18    }
19}
20
21impl<I: ParseInput> ParseInline<I> for i8 {
22    fn parse_inline(input: &mut I) -> crate::Result<Self> {
23        Ok(Self::from_le_bytes(*input.parse_chunk::<1>()?))
24    }
25}
26
27impl Size for i8 {
28    type Size = U1;
29    const SIZE: usize = 1;
30}