io_at/
refs.rs

1use super::*;
2
3/**
4 * Given a type T that impliments WriteAt, impliment WriteAt for &mut T
5 */
6impl<'a, T: WriteAt + ?Sized> WriteAt for &'a mut T {
7    #[inline]
8    fn write_at(&mut self, buf: &[u8], offs: u64) -> Result<usize> {
9        (*self).write_at(buf, offs)
10    }
11}
12
13/**
14 * Given that type &T impliments ReadAt, impliment ReadAt for &T
15 */
16impl<'a, T: ReadAt + ?Sized> ReadAt for &'a mut T {
17    #[inline]
18    fn read_at(&self, buf: &mut [u8], offs: u64) -> Result<usize> {
19        let src : &T = self;
20        src.read_at(buf, offs)
21    }
22}
23
24/**
25 * Given a type T that impliments ReadAt, impliment ReadAt for &T and &mut T
26 */
27impl<'a, T: ReadAt + ?Sized> ReadAt for &'a T {
28    #[inline]
29    fn read_at(&self, buf: &mut [u8], offs: u64) -> Result<usize> {
30        (*self).read_at(buf, offs)
31    }
32}