use std::io::{
Result,
Write,
};
use crate::util::UncheckedSlice;
pub trait WriteExt: Write {
#[inline(always)]
unsafe fn write_unchecked(
&mut self,
buffer: &[u8],
start_index: usize,
count: usize,
) -> Result<usize> {
let source =
unsafe { UncheckedSlice::subslice(buffer, start_index, count) };
self.write(source)
}
#[inline(always)]
unsafe fn write_all_unchecked(
&mut self,
buffer: &[u8],
start_index: usize,
count: usize,
) -> Result<()> {
let source =
unsafe { UncheckedSlice::subslice(buffer, start_index, count) };
self.write_all(source)
}
}
impl<T> WriteExt for T where T: Write + ?Sized {}