Trait parsell::Consumer [] [src]

pub trait Consumer<T> {
    fn accept(&mut self, value: T);
}

A trait for consumers of data, typically buffers.

Examples

String is a consumer of &str and of char.

let mut buffer = String::new();
buffer.accept("abc");
buffer.accept('d');
assert_eq!(buffer,"abcd");

Vec<T> is a consumer of &[T] when T is Clone, and of T.

let mut buffer = Vec::new();
buffer.accept(&[1,2,3][..]);
buffer.accept(4);
assert_eq!(buffer,&[1,2,3,4]);

The unit type () is a trivial consumer that discards data.

let mut discarder = ();
discarder.accept("this");
discarder.accept(4);
assert_eq!(discarder,());

Required Methods

Accepts data.

Implementors