BytesLike

Trait BytesLike 

Source
pub trait BytesLike<'a>: Debug + Default {
    // Required methods
    fn len(&self) -> usize;
    fn buf(&self) -> &[u8] ;
    fn set(&mut self, b: &'a [u8]) -> Result<()>;
    fn set_bytes(&mut self, b: Bytes) -> Result<()>;
}

Required Methods§

Source

fn len(&self) -> usize

Length of this field

Source

fn buf(&self) -> &[u8]

Reference to underlying byte byffer

Source

fn set(&mut self, b: &'a [u8]) -> Result<()>

Set this byte buffer to new value

Source

fn set_bytes(&mut self, b: Bytes) -> Result<()>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'a> BytesLike<'a> for Bytes

Source§

fn len(&self) -> usize

Source§

fn buf(&self) -> &[u8]

Source§

fn set(&mut self, b: &'a [u8]) -> Result<()>

Source§

fn set_bytes(&mut self, b: Bytes) -> Result<()>

Source§

impl<'a, const N: usize> BytesLike<'a> for [u8; N]
where [u8; N]: Default,

Source§

fn len(&self) -> usize

Source§

fn buf(&self) -> &[u8]

Source§

fn set(&mut self, b: &'a [u8]) -> Result<()>

Source§

fn set_bytes(&mut self, b: Bytes) -> Result<()>

Source§

impl<'buf> BytesLike<'buf> for &'buf str

Source§

fn len(&self) -> usize

Source§

fn buf(&self) -> &[u8]

Source§

fn set(&mut self, b: &'buf [u8]) -> Result<()>

Source§

fn set_bytes(&mut self, _: Bytes) -> Result<()>

Source§

impl<'buf> BytesLike<'buf> for &'buf [u8]

Source§

fn len(&self) -> usize

Source§

fn buf(&self) -> &[u8]

Source§

fn set(&mut self, b: &'buf [u8]) -> Result<()>

Source§

fn set_bytes(&mut self, _: Bytes) -> Result<()>

Source§

impl<'buf> BytesLike<'buf> for Cow<'buf, str>

Source§

fn len(&self) -> usize

Source§

fn buf(&self) -> &[u8]

Source§

fn set(&mut self, b: &'buf [u8]) -> Result<()>

Source§

fn set_bytes(&mut self, b: Bytes) -> Result<()>

Source§

impl<'buf> BytesLike<'buf> for Cow<'buf, [u8]>

Source§

fn len(&self) -> usize

Source§

fn buf(&self) -> &[u8]

Source§

fn set(&mut self, b: &'buf [u8]) -> Result<()>

Source§

fn set_bytes(&mut self, b: Bytes) -> Result<()>

Source§

impl<'buf> BytesLike<'buf> for String

Source§

fn len(&self) -> usize

Source§

fn buf(&self) -> &[u8]

Source§

fn set(&mut self, b: &[u8]) -> Result<()>

Source§

fn set_bytes(&mut self, b: Bytes) -> Result<()>

Source§

impl<'buf> BytesLike<'buf> for Vec<u8>

Source§

fn len(&self) -> usize

Source§

fn buf(&self) -> &[u8]

Source§

fn set(&mut self, b: &[u8]) -> Result<()>

Source§

fn set_bytes(&mut self, b: Bytes) -> Result<()>

Implementors§