[][src]Macro slimweb::implread

macro_rules! implread {
    ($name:ident, ($($(#[cfg($cfg:ident = $val:tt)])? $op:ident),*)) => { ... };
    ($name:ident, $life:lifetime, ($($(#[cfg($cfg:ident = $val:tt)])? $op:ident),*)) => { ... };
}

Generic impl Read macro.

Example:

This example is not tested
implread!(Stream, (Http, #[cfg(feature = "tls")] Https));

Becomes:

This example is not tested
impl Read for Stream {
	fn read(&mut self, buf: &mut [u8]) -> IoResult<usize> {
		match self {
			Stream::Http(s) => s.read(buf),
			#[cfg(feature = "tls")] Stream::Https(s) => s.read(buf),
		}
	}
}