Trait bytes::buf::IntoBuf
[−]
[src]
pub trait IntoBuf { type Buf: Buf; fn into_buf(self) -> Self::Buf; }
Conversion into a Buf
An IntoBuf
implementation defines how to convert a value into a Buf
.
This is common for types that represent byte storage of some kind. IntoBuf
may be implemented directly for types or on references for those types.
Examples
use bytes::{Buf, IntoBuf, BigEndian}; let bytes = b"\x00\x01hello world"; let mut buf = bytes.into_buf(); assert_eq!(1, buf.get_u16::<BigEndian>()); let mut rest = [0; 11]; buf.copy_to_slice(&mut rest); assert_eq!(b"hello world", &rest);
Associated Types
Required Methods
fn into_buf(self) -> Self::Buf
Creates a Buf
from a value.
Examples
use bytes::{Buf, IntoBuf, BigEndian}; let bytes = b"\x00\x01hello world"; let mut buf = bytes.into_buf(); assert_eq!(1, buf.get_u16::<BigEndian>()); let mut rest = [0; 11]; buf.copy_to_slice(&mut rest); assert_eq!(b"hello world", &rest);
Implementors
impl<T: Buf> IntoBuf for T type Buf = Self;
impl<'a> IntoBuf for &'a [u8] type Buf = Cursor<&'a [u8]>;
impl<'a> IntoBuf for &'a str type Buf = Cursor<&'a [u8]>;
impl IntoBuf for Vec<u8> type Buf = Cursor<Vec<u8>>;
impl<'a> IntoBuf for &'a Vec<u8> type Buf = Cursor<&'a [u8]>;
impl<'a> IntoBuf for &'a &'static [u8] type Buf = Cursor<&'static [u8]>;
impl<'a> IntoBuf for &'a &'static str type Buf = Cursor<&'static [u8]>;
impl IntoBuf for String type Buf = Cursor<Vec<u8>>;
impl<'a> IntoBuf for &'a String type Buf = Cursor<&'a [u8]>;
impl IntoBuf for u8 type Buf = Option<[u8; 1]>;
impl IntoBuf for i8 type Buf = Option<[u8; 1]>;
impl IntoBuf for Bytes type Buf = Cursor<Self>;
impl<'a> IntoBuf for &'a Bytes type Buf = Cursor<Self>;
impl IntoBuf for BytesMut type Buf = Cursor<Self>;
impl<'a> IntoBuf for &'a BytesMut type Buf = Cursor<&'a BytesMut>;