execute.hpp
Go to the documentation of this file.
1 // Copyright (c) 2006, 2007 Julio M. Merino Vidal
2 // Copyright (c) 2008 Ilya Sokolov, Boris Schaeling
3 // Copyright (c) 2009 Boris Schaeling
4 // Copyright (c) 2010 Felipe Tanus, Boris Schaeling
5 // Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling
6 //
7 // Distributed under the Boost Software License, Version 1.0. (See accompanying
8 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9 
10 #pragma once
11 
14 #include <boost/fusion/tuple/make_tuple.hpp>
15 #include <boost/ref.hpp>
16 
17 namespace boost::process::posix
18 {
19 
20  template <class I0>
21  child execute(const I0& i0)
22  {
23  return executor()(boost::fusion::make_tuple(boost::cref(i0)));
24  }
25 
26  template <class I0, class I1>
27  child execute(const I0& i0, const I1& i1)
28  {
29  return executor()(boost::fusion::make_tuple(boost::cref(i0), boost::cref(i1)));
30  }
31 
32  template <class I0, class I1, class I2>
33  child execute(const I0& i0, const I1& i1, const I2& i2)
34  {
35  return executor()(boost::fusion::make_tuple(boost::cref(i0), boost::cref(i1), boost::cref(i2)));
36  }
37 
38  template <class I0, class I1, class I2, class I3>
39  child execute(const I0& i0, const I1& i1, const I2& i2, const I3& i3)
40  {
41  return executor()(boost::fusion::make_tuple(boost::cref(i0), boost::cref(i1), boost::cref(i2), boost::cref(i3)));
42  }
43 
44  template <class I0, class I1, class I2, class I3, class I4>
45  child execute(const I0& i0, const I1& i1, const I2& i2, const I3& i3, const I4& i4)
46  {
47  return executor()(boost::fusion::make_tuple(boost::cref(i0), boost::cref(i1), boost::cref(i2), boost::cref(i3), boost::cref(i4)));
48  }
49 
50  template <class I0, class I1, class I2, class I3, class I4, class I5>
51  child execute(const I0& i0, const I1& i1, const I2& i2, const I3& i3, const I4& i4, const I5& i5)
52  {
53  return executor()(boost::fusion::make_tuple(boost::cref(i0), boost::cref(i1), boost::cref(i2), boost::cref(i3), boost::cref(i4), boost::cref(i5)));
54  }
55 
56  template <class I0, class I1, class I2, class I3, class I4, class I5, class I6>
57  child execute(const I0& i0, const I1& i1, const I2& i2, const I3& i3, const I4& i4, const I5& i5, const I6& i6)
58  {
59  return executor()(boost::fusion::make_tuple(boost::cref(i0), boost::cref(i1), boost::cref(i2), boost::cref(i3), boost::cref(i4), boost::cref(i5), boost::cref(i6)));
60  }
61 
62  template <class I0, class I1, class I2, class I3, class I4, class I5, class I6, class I7>
63  child execute(const I0& i0, const I1& i1, const I2& i2, const I3& i3, const I4& i4, const I5& i5, const I6& i6, const I7& i7)
64  {
65  return executor()(boost::fusion::make_tuple(boost::cref(i0), boost::cref(i1), boost::cref(i2), boost::cref(i3), boost::cref(i4), boost::cref(i5), boost::cref(i6), boost::cref(i7)));
66  }
67 
68  template <class I0, class I1, class I2, class I3, class I4, class I5, class I6, class I7, class I8>
69  child execute(const I0& i0, const I1& i1, const I2& i2, const I3& i3, const I4& i4, const I5& i5, const I6& i6, const I7& i7, const I8& i8)
70  {
71  return executor()(boost::fusion::make_tuple(boost::cref(i0), boost::cref(i1), boost::cref(i2), boost::cref(i3), boost::cref(i4), boost::cref(i5), boost::cref(i6), boost::cref(i7), boost::cref(i8)));
72  }
73 
74  template <class I0, class I1, class I2, class I3, class I4, class I5, class I6, class I7, class I8, class I9>
75  child execute(const I0& i0, const I1& i1, const I2& i2, const I3& i3, const I4& i4, const I5& i5, const I6& i6, const I7& i7, const I8& i8, const I9& i9)
76  {
77  return executor()(boost::fusion::make_tuple(boost::cref(i0), boost::cref(i1), boost::cref(i2), boost::cref(i3), boost::cref(i4), boost::cref(i5), boost::cref(i6), boost::cref(i7), boost::cref(i8), boost::cref(i9)));
78  }
79 
80 }
81 
boost::process::posix::child
Definition: child.hpp:16
boost::process::posix::execute
child execute(const I0 &i0)
Definition: execute.hpp:21
executor.hpp
boost::process::posix::executor
Definition: executor.hpp:21
boost::process::posix
Definition: child.hpp:14
child.hpp