protocol/types/
range.rs

1use crate::{hint, Parcel, Error, Settings};
2use std::io::prelude::*;
3
4impl<T> Parcel for std::ops::Range<T>
5    where T: Parcel {
6    const TYPE_NAME: &'static str = "Range";
7
8    fn read_field(read: &mut dyn Read,
9                  settings: &Settings,
10                  _: &mut hint::Hints) -> Result<Self, Error> {
11        let start = Parcel::read(read, settings)?;
12        let end = Parcel::read(read, settings)?;
13
14        Ok(std::ops::Range { start, end })
15    }
16
17    fn write_field(&self, write: &mut dyn Write,
18                   settings: &Settings,
19                   _: &mut hint::Hints) -> Result<(), Error> {
20        self.start.write(write, settings)?;
21        self.end.write(write, settings)?;
22
23        Ok(())
24    }
25}
26