[−][src]Struct views::Look
Temporarily look into a buffer
Similar to a slice except you're able to restore the original buffer after slicing it. This can be useful for knowing your position in the buffer and looking back. This can be done with two slices but they need to be bounds checked.
Implementations
impl<T, B: AsRef<[T]>> Look<T, B>
[src]
pub fn new(buf: B) -> Look<T, B>
[src]
pub fn new_with_pos(buf: B, pos: usize) -> Result<Look<T, B>, BadPos>
[src]
pub fn from_slice<'a, N: AsRef<[T]> + 'a>(
buf: B,
slice: &'a [T]
) -> Result<Look<T, B>, BadPos>
[src]
buf: B,
slice: &'a [T]
) -> Result<Look<T, B>, BadPos>
pub fn pos(&self) -> usize
[src]
pub fn into_inner(self) -> B
[src]
Trait Implementations
impl<T, B: AsMut<[T]>> AsMut<[T]> for Look<T, B>
[src]
impl<T, B: AsRef<[T]>> AsRef<[T]> for Look<T, B>
[src]
impl<B: AsRef<[u8]>> Bytes for Look<u8, B>
[src]
fn take_u8(&mut self) -> Result<u8, BadPos>
[src]
fn take_i8(&mut self) -> Result<i8, BadPos>
[src]
fn take_u16_le(&mut self) -> Result<u16, BadPos>
[src]
fn take_u16_be(&mut self) -> Result<u16, BadPos>
[src]
fn take_u16_ne(&mut self) -> Result<u16, BadPos>
[src]
fn take_i16_le(&mut self) -> Result<i16, BadPos>
[src]
fn take_i16_be(&mut self) -> Result<i16, BadPos>
[src]
fn take_i16_ne(&mut self) -> Result<i16, BadPos>
[src]
fn take_u32_le(&mut self) -> Result<u32, BadPos>
[src]
fn take_u32_be(&mut self) -> Result<u32, BadPos>
[src]
fn take_u32_ne(&mut self) -> Result<u32, BadPos>
[src]
fn take_i32_le(&mut self) -> Result<i32, BadPos>
[src]
fn take_i32_be(&mut self) -> Result<i32, BadPos>
[src]
fn take_i32_ne(&mut self) -> Result<i32, BadPos>
[src]
fn take_u64_le(&mut self) -> Result<u64, BadPos>
[src]
fn take_u64_be(&mut self) -> Result<u64, BadPos>
[src]
fn take_u64_ne(&mut self) -> Result<u64, BadPos>
[src]
fn take_i64_le(&mut self) -> Result<i64, BadPos>
[src]
fn take_i64_be(&mut self) -> Result<i64, BadPos>
[src]
fn take_i64_ne(&mut self) -> Result<i64, BadPos>
[src]
fn take_u128_le(&mut self) -> Result<u128, BadPos>
[src]
fn take_u128_be(&mut self) -> Result<u128, BadPos>
[src]
fn take_u128_ne(&mut self) -> Result<u128, BadPos>
[src]
fn take_i128_le(&mut self) -> Result<i128, BadPos>
[src]
fn take_i128_be(&mut self) -> Result<i128, BadPos>
[src]
fn take_i128_ne(&mut self) -> Result<i128, BadPos>
[src]
fn take_f32_le(&mut self) -> Result<f32, BadPos>
[src]
fn take_f32_be(&mut self) -> Result<f32, BadPos>
[src]
fn take_f32_ne(&mut self) -> Result<f32, BadPos>
[src]
fn take_f64_le(&mut self) -> Result<f64, BadPos>
[src]
fn take_f64_be(&mut self) -> Result<f64, BadPos>
[src]
fn take_f64_ne(&mut self) -> Result<f64, BadPos>
[src]
fn take_as_str(&mut self, n: usize) -> Result<&str, BadPos>
[src]
fn take_until_nul(&mut self) -> Result<&[u8], BadPos>
[src]
fn take_as_str_until_nul(&mut self) -> Result<&str, BadPos>
[src]
impl<B: AsMut<[u8]>> BytesMut for Look<u8, B>
[src]
fn put_u8(&mut self, val: u8) -> Result<(), BadPos>
[src]
fn put_i8(&mut self, val: i8) -> Result<(), BadPos>
[src]
fn put_u16_le(&mut self, val: u16) -> Result<(), BadPos>
[src]
fn put_u16_be(&mut self, val: u16) -> Result<(), BadPos>
[src]
fn put_u16_ne(&mut self, val: u16) -> Result<(), BadPos>
[src]
fn put_i16_le(&mut self, val: i16) -> Result<(), BadPos>
[src]
fn put_i16_be(&mut self, val: i16) -> Result<(), BadPos>
[src]
fn put_i16_ne(&mut self, val: i16) -> Result<(), BadPos>
[src]
fn put_u32_le(&mut self, val: u32) -> Result<(), BadPos>
[src]
fn put_u32_be(&mut self, val: u32) -> Result<(), BadPos>
[src]
fn put_u32_ne(&mut self, val: u32) -> Result<(), BadPos>
[src]
fn put_i32_le(&mut self, val: i32) -> Result<(), BadPos>
[src]
fn put_i32_be(&mut self, val: i32) -> Result<(), BadPos>
[src]
fn put_i32_ne(&mut self, val: i32) -> Result<(), BadPos>
[src]
fn put_u64_le(&mut self, val: u64) -> Result<(), BadPos>
[src]
fn put_u64_be(&mut self, val: u64) -> Result<(), BadPos>
[src]
fn put_u64_ne(&mut self, val: u64) -> Result<(), BadPos>
[src]
fn put_i64_le(&mut self, val: i64) -> Result<(), BadPos>
[src]
fn put_i64_be(&mut self, val: i64) -> Result<(), BadPos>
[src]
fn put_i64_ne(&mut self, val: i64) -> Result<(), BadPos>
[src]
fn put_u128_le(&mut self, val: u128) -> Result<(), BadPos>
[src]
fn put_u128_be(&mut self, val: u128) -> Result<(), BadPos>
[src]
fn put_u128_ne(&mut self, val: u128) -> Result<(), BadPos>
[src]
fn put_i128_le(&mut self, val: i128) -> Result<(), BadPos>
[src]
fn put_i128_be(&mut self, val: i128) -> Result<(), BadPos>
[src]
fn put_i128_ne(&mut self, val: i128) -> Result<(), BadPos>
[src]
fn put_f32_le(&mut self, val: f32) -> Result<(), BadPos>
[src]
fn put_f32_be(&mut self, val: f32) -> Result<(), BadPos>
[src]
fn put_f32_ne(&mut self, val: f32) -> Result<(), BadPos>
[src]
fn put_f64_le(&mut self, val: f64) -> Result<(), BadPos>
[src]
fn put_f64_be(&mut self, val: f64) -> Result<(), BadPos>
[src]
fn put_f64_ne(&mut self, val: f64) -> Result<(), BadPos>
[src]
impl<T, B: AsRef<[T]>> View<T> for Look<T, B>
[src]
impl<T: Copy, B: AsMut<[T]>> ViewMut<T> for Look<T, B>
[src]
Auto Trait Implementations
impl<T, B> Send for Look<T, B> where
B: Send,
T: Send,
[src]
B: Send,
T: Send,
impl<T, B> Sync for Look<T, B> where
B: Sync,
T: Sync,
[src]
B: Sync,
T: Sync,
impl<T, B> Unpin for Look<T, B> where
B: Unpin,
T: Unpin,
[src]
B: Unpin,
T: Unpin,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,