|
Boost : |
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.
Hi,
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
Garland.
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
release.
Jonathan
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk