std::istream_iterator and std::ostream_iterator are iterator adapters that can iterate over input and output streams, providing an input and output iterator respectively.
Combined with algorithms, this allows for simple streamed processing of files or data streams.