From 5dff6026be9a8fe85be4320625a398ec1a20f39e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 13 Dec 2017 10:55:26 +0200 Subject: [PATCH] Also implement Deref/DerefMut for MappedBuffer for &[u8] --- gstreamer/src/buffer.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gstreamer/src/buffer.rs b/gstreamer/src/buffer.rs index 05faa3676..a8f7b54f0 100644 --- a/gstreamer/src/buffer.rs +++ b/gstreamer/src/buffer.rs @@ -10,6 +10,7 @@ use std::ptr; use std::mem; use std::fmt; use std::slice; +use std::ops; use std::u64; use std::usize; use std::marker::PhantomData; @@ -479,6 +480,20 @@ impl AsMut<[u8]> for MappedBuffer { } } +impl ops::Deref for MappedBuffer { + type Target = [u8]; + + fn deref(&self) -> &[u8] { + self.as_slice() + } +} + +impl ops::DerefMut for MappedBuffer { + fn deref_mut(&mut self) -> &mut [u8] { + self.as_mut_slice() + } +} + impl Drop for MappedBuffer { fn drop(&mut self) { if let Some(ref buffer) = self.buffer {