Boost logo

Boost :

Subject: Re: [boost] [process] Formal Review starts today, 27 October
From: Bjorn Reese (breese_at_[hidden])
Date: 2016-11-05 12:15:58


On 11/05/2016 02:47 PM, Klemens Morgenstern wrote:

> auto c = child("foo").args("bar"). std_out(pipe).std_err(null);

That is not the syntax I have proposed.

The core of my proposal is to keep attributes separate from arguments
(granted, this was not explicitly mentioned before.)

You mentioned elsewhere that you modelled bp::child after thread.
Boost.Thread handles attributes separate from arguments.

The syntax for creating attributes is less important to me, although I
would strongly prefer a syntax where invalid attribute parameters
results in reasonable compiler error messages (e.g. not SFINAE errors.)

> child antlr("java");
> antlr("-jar", "antlr4.jar", "language.g4"); //here I'd much rather have
> antlr("language.g4");

I do not recall having imposed any constraints on how arguments are
collected. I would fine with something like this:

argument with_jar = {"-jar", "antlr4.jar"};
antlr(with_jar, "language.g4");

> It's not an argument in a discussion really, it's just what I though
> would make the most sense. I though it ain't CWD, i.e. current working
> directory, but it's the one it's starts in, hence start_dir. It's a
> directory not a path, because that might a path to a file.

Then initial_path() as used by Boost.Filesystem may be a better name.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk