gvdb 0.4.0

Read and write GLib GVariant database files
Documentation
#[repr(C)]
#[derive(Copy, Clone, PartialEq, Eq, Debug)]
pub struct GvdbPointer {
    start: u32,
    end: u32,
}

impl GvdbPointer {
    pub const NULL: Self = Self { start: 0, end: 0 };

    pub fn new(start: usize, end: usize) -> Self {
        Self {
            start: (start as u32).to_le(),
            end: (end as u32).to_le(),
        }
    }

    pub fn start(&self) -> u32 {
        u32::from_le(self.start)
    }

    pub fn end(&self) -> u32 {
        u32::from_le(self.end)
    }

    pub fn size(&self) -> usize {
        (self.end() - self.start()) as usize
    }
}

#[cfg(test)]
mod test {
    use crate::read::GvdbPointer;

    #[test]
    fn derives() {
        let pointer = GvdbPointer::new(0, 2);
        let pointer2 = pointer.clone();
        println!("{:?}", pointer2);
    }
}