use std::fmt;
use std::io::{Read, Write};
use super::{BufReader, BufWriter, LineWriter};
use policy::{WriterPolicy, MoveStrategy, ReaderPolicy};
impl<R, Rs: ReaderPolicy> fmt::Debug for BufReader<R, Rs> {
default fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("buf_redux::BufReader")
.field("reader", &"(no Debug impl)")
.field("available", &self.buf_len())
.field("capacity", &self.capacity())
.field("read_strategy", &self.read_strat)
.field("move_strategy", &self.move_strat)
.finish()
}
}
impl<W: Write, Fs: WriterPolicy> fmt::Debug for BufWriter<W, Fs> {
default fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("buf_redux::BufWriter")
.field("writer", &"(no Debug impl)")
.field("capacity", &self.capacity())
.field("flush_strategy", &self.policy)
.finish()
}
}
impl<W: Write> fmt::Debug for LineWriter<W> {
default fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("buf_redux::LineWriter")
.field("writer", &"(no Debug impl)")
.field("capacity", &self.capacity())
.finish()
}
}
pub fn init_buffer<R: Read + ?Sized>(rdr: &R, buf: &mut [u8]) {
unsafe { rdr.initializer().initialize(buf) }
}