Asynchronous I/O that doesn’t get in your way, written in D
Generic stream interface used by several stream-like classes.
This module defines the basic (buffered) stream primitives. For concrete stream types, take a
look at the vibe.stream package. The vibe.stream.operations module contains additional
high-level operations on streams, such as reading streams by line or as a whole.
Note that starting with vibe-core 1.0.0, streams can be of either struct or class type.
Any APIs that take streams as a parameter should use a template type parameter that is tested
using the appropriate trait (e.g. isInputStream) instead of assuming the specific interface
type (e.g. InputStream).