From 85fdc8bf13016074d3bfecc64d72de98e864d0b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 13 Dec 2017 09:58:41 +0200 Subject: [PATCH] Implement AsRef<[u8]>, AsMut, Debug, PartialEq and Eq for MappedBuffer --- gstreamer/src/buffer.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gstreamer/src/buffer.rs b/gstreamer/src/buffer.rs index 97c10e304..05faa3676 100644 --- a/gstreamer/src/buffer.rs +++ b/gstreamer/src/buffer.rs @@ -467,6 +467,18 @@ impl MappedBuffer { } } +impl AsRef<[u8]> for MappedBuffer { + fn as_ref(&self) -> &[u8] { + self.as_slice() + } +} + +impl AsMut<[u8]> for MappedBuffer { + fn as_mut(&mut self) -> &mut [u8] { + self.as_mut_slice() + } +} + impl Drop for MappedBuffer { fn drop(&mut self) { if let Some(ref buffer) = self.buffer { @@ -477,6 +489,22 @@ impl Drop for MappedBuffer { } } +impl fmt::Debug for MappedBuffer { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + f.debug_tuple("MappedBuffer") + .field(&self.get_buffer()) + .finish() + } +} + +impl PartialEq for MappedBuffer { + fn eq(&self, other: &MappedBuffer) -> bool { + self.get_buffer().eq(other.get_buffer()) + } +} + +impl Eq for MappedBuffer {} + unsafe impl Send for MappedBuffer {} #[cfg(test)]