On 15 June 2017 at 12:10, Klaim - Joël Lamotte
On Wed, Jun 14, 2017 at 1:35 AM, dinesh kumar
wrote: Hi Team,
Greetings for the day.
I am currently facing the problem with process extension as documented here http://www.boost.org/doc/libs/1_64_0/doc/html/boost_process/design.html#boos... . I am testing the boost 1.64 version macOS, and unable to use the below functionality.
void test() {
cout << "On Setup" << endl;
}
int main() {
std::function
on_st = test; bp::child c2("ls", boost::process::extend::on_setup(on_st));
}
*Error: *
/usr/local/include/boost/process/detail/handler.hpp:33:9: No matching function for call to object of type 'std::__1::function
' Would somebody guide me here, please?
The documentation[1] states: "The required signature is void(Exec &), where Exec is a template parameter".
on_st's type do not match this requirement.
[1]: http://www.boost.org/doc/libs/1_64_0/doc/html/boost/ process/extend/on_setup.html
The following change should work (I didn't try but the documentation have a similar exemple there: http://www.boost.org/doc/libs/1_64_0/doc/html/boost_process/extend.html#boos... void test() { cout << "On Setup" << endl; } int main() { auto on_st = [](auto exec){ test(); }; bp::child c2("ls", on_setup(on_st)); } Joël Lamotte