From: Jonathan Turkanis (technews_at_[hidden])
Date: 2005-02-20 18:05:12
Julio M. Merino Vidal wrote:
> Hi everyone,
> Among the classes I wrote, there are some that provide an abstraction
> layer to launch other (child) processes. Once the process is
> launched, the code can access its standard input/output/error streams
> by using the standard iostreams framework.
> But, before I start to do so, I would like to know if such library
> will be adequate to be integrated and/or if there is interest in it.
> FWIW, I've searched the mailing lists and found some people that said
> that they missed this functionality in Boost.
One feature I intend to implement soon for the iostreams library is a set of
filters and devices for starting child porcesses and accessing their standard
input and output. I got the idea from the "unix filters" presented by JC van
Winkle and john van Krieken at the 2003 ACCU conference. (The paper is called
"GNIRTS ESAC REWOL: Bringing UNIX filters to iostream.") I have been planning to
implement it along the lines of the libexecstream library mentioned by Jeff
The components I am planning to support are as follows:
* system_filter - starts a child process and filters a character sequence by
feeding it to the child process's standard input and reading the filtered
sequence from the porcess's standard output.
* system_source - starts a child process and reads data from its standard output
* system_sink - starts a child process and writes data to its standard input
Clearly, if a library like the one you propose make it into boost, I will use it
to implement the above components.
First I'd like to consider whether there are any features of such a library
which cannot be adequeately exposed by the above three components. If not, we
could simply work together to write the above components using your code as a
starting point, and the library might even make it into the upcoming 1.33
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk