Boost logo

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.


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, gregod at, cpdaniel at, john at