What is Stream programming model?
Before we get into the topic of the Stream programming model, we will take a step back to look at parallels with the POSIX shell programming model. In a typical command line shell program, every command is a program and every program is a command. We can pipe the output of one program to another program after achieving a computational objective or task. In effect, we can chain a series of commands to achieve bigger computational task. We can see it as a stream of data passing through a series of filters or transformations to fetch the output. We can also call the preceding process as command composition. There are real-life cases where huge programs are being replaced by small amount of shell code using command composition . The same process can be realized in a C++ program, by treating the input of a function as a stream, sequence, or list. The data can be passed from one function or function object (aka functor) to another as a standard data container...