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
12
#include <boost/fusion/tuple/make_tuple.hpp>
13
#include <
boost/process/windows/child.hpp
>
14
#include <
boost/process/windows/executor.hpp
>
15
#include <boost/ref.hpp>
16
17
namespace
boost::process::windows
18
{
19
20
template
<
class
I0>
21
child
22
execute
(
const
I0& i0)
23
{
24
return
executor
()(boost::fusion::make_tuple(boost::cref(i0)));
25
}
26
27
template
<
class
I0,
class
I1>
28
child
29
execute
(
const
I0& i0,
const
I1& i1)
30
{
31
return
executor
()(boost::fusion::make_tuple(boost::cref(i0), boost::cref(i1)));
32
}
33
34
template
<
class
I0,
class
I1,
class
I2>
35
child
36
execute
(
const
I0& i0,
const
I1& i1,
const
I2& i2)
37
{
38
return
executor
()(
39
boost::fusion::make_tuple(boost::cref(i0), boost::cref(i1), boost::cref(i2)));
40
}
41
42
template
<
class
I0,
class
I1,
class
I2,
class
I3>
43
child
44
execute
(
const
I0& i0,
const
I1& i1,
const
I2& i2,
const
I3& i3)
45
{
46
return
executor
()(boost::fusion::make_tuple(
47
boost::cref(i0), boost::cref(i1), boost::cref(i2), boost::cref(i3)));
48
}
49
50
template
<
class
I0,
class
I1,
class
I2,
class
I3,
class
I4>
51
child
52
execute
(
const
I0& i0,
const
I1& i1,
const
I2& i2,
const
I3& i3,
const
I4& i4)
53
{
54
return
executor
()(boost::fusion::make_tuple(
55
boost::cref(i0), boost::cref(i1), boost::cref(i2), boost::cref(i3), boost::cref(i4)));
56
}
57
58
template
<
class
I0,
class
I1,
class
I2,
class
I3,
class
I4,
class
I5>
59
child
60
execute
(
const
I0& i0,
const
I1& i1,
const
I2& i2,
const
I3& i3,
const
I4& i4,
const
I5& i5)
61
{
62
return
executor
()(boost::fusion::make_tuple(boost::cref(i0),
63
boost::cref(i1),
64
boost::cref(i2),
65
boost::cref(i3),
66
boost::cref(i4),
67
boost::cref(i5)));
68
}
69
70
template
<
class
I0,
class
I1,
class
I2,
class
I3,
class
I4,
class
I5,
class
I6>
71
child
72
execute
(
const
I0& i0,
73
const
I1& i1,
74
const
I2& i2,
75
const
I3& i3,
76
const
I4& i4,
77
const
I5& i5,
78
const
I6& i6)
79
{
80
return
executor
()(boost::fusion::make_tuple(boost::cref(i0),
81
boost::cref(i1),
82
boost::cref(i2),
83
boost::cref(i3),
84
boost::cref(i4),
85
boost::cref(i5),
86
boost::cref(i6)));
87
}
88
89
template
<
class
I0,
class
I1,
class
I2,
class
I3,
class
I4,
class
I5,
class
I6,
class
I7>
90
child
91
execute
(
const
I0& i0,
92
const
I1& i1,
93
const
I2& i2,
94
const
I3& i3,
95
const
I4& i4,
96
const
I5& i5,
97
const
I6& i6,
98
const
I7& i7)
99
{
100
return
executor
()(boost::fusion::make_tuple(boost::cref(i0),
101
boost::cref(i1),
102
boost::cref(i2),
103
boost::cref(i3),
104
boost::cref(i4),
105
boost::cref(i5),
106
boost::cref(i6),
107
boost::cref(i7)));
108
}
109
110
template
<
class
I0,
111
class
I1,
112
class
I2,
113
class
I3,
114
class
I4,
115
class
I5,
116
class
I6,
117
class
I7,
118
class
I8>
119
child
120
execute
(
const
I0& i0,
121
const
I1& i1,
122
const
I2& i2,
123
const
I3& i3,
124
const
I4& i4,
125
const
I5& i5,
126
const
I6& i6,
127
const
I7& i7,
128
const
I8& i8)
129
{
130
return
executor
()(boost::fusion::make_tuple(boost::cref(i0),
131
boost::cref(i1),
132
boost::cref(i2),
133
boost::cref(i3),
134
boost::cref(i4),
135
boost::cref(i5),
136
boost::cref(i6),
137
boost::cref(i7),
138
boost::cref(i8)));
139
}
140
141
template
<
class
I0,
142
class
I1,
143
class
I2,
144
class
I3,
145
class
I4,
146
class
I5,
147
class
I6,
148
class
I7,
149
class
I8,
150
class
I9>
151
child
152
execute
(
const
I0& i0,
153
const
I1& i1,
154
const
I2& i2,
155
const
I3& i3,
156
const
I4& i4,
157
const
I5& i5,
158
const
I6& i6,
159
const
I7& i7,
160
const
I8& i8,
161
const
I9& i9)
162
{
163
return
executor
()(boost::fusion::make_tuple(boost::cref(i0),
164
boost::cref(i1),
165
boost::cref(i2),
166
boost::cref(i3),
167
boost::cref(i4),
168
boost::cref(i5),
169
boost::cref(i6),
170
boost::cref(i7),
171
boost::cref(i8),
172
boost::cref(i9)));
173
}
174
175
}
// namespace boost::process::windows
boost::process::windows::child
Definition
child.hpp:20
boost::process::windows
Definition
child.hpp:17
boost::process::windows::execute
child execute(const I0 &i0)
Definition
execute.hpp:22
boost::process::windows::executor
Definition
executor.hpp:21
child.hpp
executor.hpp
boost
process
windows
execute.hpp
Generated by
1.13.2