~ubuntu-branches/debian/sid/boost1.49/sid

« back to all changes in this revision

Viewing changes to libs/spirit/phoenix/doc/html/phoenix/algorithm.html

  • Committer: Package Import Robot
  • Author(s): Steve M. Robbins
  • Date: 2012-02-26 00:31:44 UTC
  • Revision ID: package-import@ubuntu.com-20120226003144-eaytp12cbf6ubpms
Tags: upstream-1.49.0
ImportĀ upstreamĀ versionĀ 1.49.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<html>
 
2
<head>
 
3
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 
4
<title>Algorithm</title>
 
5
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
 
6
<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
 
7
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 2.0">
 
8
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 2.0">
 
9
<link rel="prev" href="container.html" title="Container">
 
10
<link rel="next" href="inside_phoenix.html" title="Inside Phoenix">
 
11
</head>
 
12
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 
13
<table cellpadding="2" width="100%"><tr>
 
14
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 
15
<td align="center"><a href="../../../../../../index.html">Home</a></td>
 
16
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
 
17
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
 
18
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
 
19
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
 
20
</tr></table>
 
21
<hr>
 
22
<div class="spirit-nav">
 
23
<a accesskey="p" href="container.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inside_phoenix.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 
24
</div>
 
25
<div class="section">
 
26
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
 
27
<a name="phoenix.algorithm"></a><a class="link" href="algorithm.html" title="Algorithm">Algorithm</a>
 
28
</h2></div></div></div>
 
29
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 
30
</pre>
 
31
<p>
 
32
      The algorithm module provides wrappers for the standard algorithms in the
 
33
      <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">algorithm</span><span class="special">&gt;</span></code> and <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">numeric</span><span class="special">&gt;</span></code>
 
34
      headers.
 
35
    </p>
 
36
<p>
 
37
      The algorithms are divided into the categories iteration, transformation and
 
38
      querying, modelling the <a href="http://boost.org/libs/mpl/doc/index.html" target="_top">Boost.MPL</a>
 
39
      library. The different algorithm classes can be included using the headers:
 
40
    </p>
 
41
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 
42
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 
43
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">querying</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 
44
</pre>
 
45
<p>
 
46
      The functions of the algorithm module take ranges as arguments where appropriate.
 
47
      This is different to the standard library, but easy enough to pick up. Ranges
 
48
      are described in detail in the <a href="http://boost.org/libs/range/index.html" target="_top">Boost.Range</a>
 
49
      library.
 
50
    </p>
 
51
<p>
 
52
      For example, using the standard copy algorithm to copy between 2 arrays:
 
53
    </p>
 
54
<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">array</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">};</span>
 
55
<span class="keyword">int</span> <span class="identifier">output</span><span class="special">[</span><span class="number">3</span><span class="special">];</span>
 
56
<span class="identifier">std</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span><span class="identifier">array</span><span class="special">,</span> <span class="identifier">array</span> <span class="special">+</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">output</span><span class="special">);</span> <span class="comment">// We have to provide iterators
 
57
</span>                                     <span class="comment">// to both the start and end of array
 
58
</span></pre>
 
59
<p>
 
60
      The analogous code using the phoenix algorithm module is:
 
61
    </p>
 
62
<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">array</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">};</span>
 
63
<span class="keyword">int</span> <span class="identifier">output</span><span class="special">[</span><span class="number">3</span><span class="special">];</span>
 
64
<span class="identifier">copy</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)(</span><span class="identifier">array</span><span class="special">,</span> <span class="identifier">output</span><span class="special">);</span> <span class="comment">// Notice only 2 arguments, the end of
 
65
</span>                                 <span class="comment">// array is established automatically
 
66
</span></pre>
 
67
<p>
 
68
      The <a href="http://boost.org/libs/range/index.html" target="_top">Boost.Range</a>
 
69
      library provides support for standard containers, strings and arrays, and can
 
70
      be extended to support additional types.
 
71
    </p>
 
72
<p>
 
73
      The following tables describe the different categories of algorithms, and their
 
74
      semantics.
 
75
    </p>
 
76
<div class="sidebar">
 
77
<p class="title"><b></b></p>
 
78
<p>
 
79
      <span class="inlinemediaobject"><img src="../images/tip.png" alt="tip"></span> Arguments in brackets denote optional parameters.
 
80
    </p>
 
81
</div>
 
82
<div class="table">
 
83
<a name="id859163"></a><p class="title"><b>Table&#160;1.7.&#160;Iteration Algorithms</b></p>
 
84
<div class="table-contents"><table class="table" summary="Iteration Algorithms">
 
85
<colgroup>
 
86
<col>
 
87
<col>
 
88
</colgroup>
 
89
<thead><tr>
 
90
<th>
 
91
              <p>
 
92
                Function
 
93
              </p>
 
94
            </th>
 
95
<th>
 
96
              <p>
 
97
                stl Semantics
 
98
              </p>
 
99
            </th>
 
100
</tr></thead>
 
101
<tbody>
 
102
<tr>
 
103
<td>
 
104
              <p>
 
105
                <code class="computeroutput"><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">c</span><span class="special">)</span></code>
 
106
              </p>
 
107
            </td>
 
108
<td>
 
109
              <p>
 
110
                <code class="computeroutput"><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">f</span><span class="special">)</span></code>
 
111
              </p>
 
112
            </td>
 
113
</tr>
 
114
<tr>
 
115
<td>
 
116
              <p>
 
117
                <code class="computeroutput"><span class="identifier">accumulate</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
118
              </p>
 
119
            </td>
 
120
<td>
 
121
              <p>
 
122
                <code class="computeroutput"><span class="identifier">accumulate</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
123
              </p>
 
124
            </td>
 
125
</tr>
 
126
</tbody>
 
127
</table></div>
 
128
</div>
 
129
<br class="table-break"><div class="table">
 
130
<a name="id859405"></a><p class="title"><b>Table&#160;1.8.&#160;Querying Algorithms</b></p>
 
131
<div class="table-contents"><table class="table" summary="Querying Algorithms">
 
132
<colgroup>
 
133
<col>
 
134
<col>
 
135
</colgroup>
 
136
<thead><tr>
 
137
<th>
 
138
              <p>
 
139
                Function
 
140
              </p>
 
141
            </th>
 
142
<th>
 
143
              <p>
 
144
                stl Semantics
 
145
              </p>
 
146
            </th>
 
147
</tr></thead>
 
148
<tbody>
 
149
<tr>
 
150
<td>
 
151
              <p>
 
152
                <code class="computeroutput"><span class="identifier">find</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
 
153
              </p>
 
154
            </td>
 
155
<td>
 
156
              <p>
 
157
                <code class="computeroutput"><span class="identifier">find</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">a</span><span class="special">)</span></code>
 
158
              </p>
 
159
            </td>
 
160
</tr>
 
161
<tr>
 
162
<td>
 
163
              <p>
 
164
                <code class="computeroutput"><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
 
165
              </p>
 
166
            </td>
 
167
<td>
 
168
              <p>
 
169
                <code class="computeroutput"><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">f</span><span class="special">)</span></code>
 
170
              </p>
 
171
            </td>
 
172
</tr>
 
173
<tr>
 
174
<td>
 
175
              <p>
 
176
                <code class="computeroutput"><span class="identifier">find_end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">[,</span>
 
177
                <span class="identifier">f</span><span class="special">])</span></code>
 
178
              </p>
 
179
            </td>
 
180
<td>
 
181
              <p>
 
182
                <code class="computeroutput"><span class="identifier">find_end</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
 
183
                <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
 
184
                <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
 
185
                <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span>
 
186
                <span class="identifier">f</span><span class="special">])</span></code>
 
187
              </p>
 
188
            </td>
 
189
</tr>
 
190
<tr>
 
191
<td>
 
192
              <p>
 
193
                <code class="computeroutput"><span class="identifier">find_first_of</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">[,</span>
 
194
                <span class="identifier">f</span><span class="special">])</span></code>
 
195
              </p>
 
196
            </td>
 
197
<td>
 
198
              <p>
 
199
                <code class="computeroutput"><span class="identifier">find_first_of</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
 
200
                <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
 
201
                <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
 
202
                <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span>
 
203
                <span class="identifier">f</span><span class="special">])</span></code>
 
204
              </p>
 
205
            </td>
 
206
</tr>
 
207
<tr>
 
208
<td>
 
209
              <p>
 
210
                <code class="computeroutput"><span class="identifier">adjacent_find</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
211
              </p>
 
212
            </td>
 
213
<td>
 
214
              <p>
 
215
                <code class="computeroutput"><span class="identifier">adjacent_find</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
 
216
                <span class="identifier">f</span><span class="special">])</span></code>
 
217
              </p>
 
218
            </td>
 
219
</tr>
 
220
<tr>
 
221
<td>
 
222
              <p>
 
223
                <code class="computeroutput"><span class="identifier">count</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
 
224
              </p>
 
225
            </td>
 
226
<td>
 
227
              <p>
 
228
                <code class="computeroutput"><span class="identifier">count</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">a</span><span class="special">)</span></code>
 
229
              </p>
 
230
            </td>
 
231
</tr>
 
232
<tr>
 
233
<td>
 
234
              <p>
 
235
                <code class="computeroutput"><span class="identifier">count_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
 
236
              </p>
 
237
            </td>
 
238
<td>
 
239
              <p>
 
240
                <code class="computeroutput"><span class="identifier">count_if</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">f</span><span class="special">)</span></code>
 
241
              </p>
 
242
            </td>
 
243
</tr>
 
244
<tr>
 
245
<td>
 
246
              <p>
 
247
                <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">r</span><span class="special">)</span></code>
 
248
              </p>
 
249
            </td>
 
250
<td>
 
251
              <p>
 
252
                <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">))</span></code>
 
253
              </p>
 
254
            </td>
 
255
</tr>
 
256
<tr>
 
257
<td>
 
258
              <p>
 
259
                <code class="computeroutput"><span class="identifier">mismatch</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">i</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
260
              </p>
 
261
            </td>
 
262
<td>
 
263
              <p>
 
264
                <code class="computeroutput"><span class="identifier">mismatch</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">i</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
265
              </p>
 
266
            </td>
 
267
</tr>
 
268
<tr>
 
269
<td>
 
270
              <p>
 
271
                <code class="computeroutput"><span class="identifier">equal</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">i</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
272
              </p>
 
273
            </td>
 
274
<td>
 
275
              <p>
 
276
                <code class="computeroutput"><span class="identifier">equal</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">i</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
277
              </p>
 
278
            </td>
 
279
</tr>
 
280
<tr>
 
281
<td>
 
282
              <p>
 
283
                <code class="computeroutput"><span class="identifier">search</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">[,</span>
 
284
                <span class="identifier">f</span><span class="special">])</span></code>
 
285
              </p>
 
286
            </td>
 
287
<td>
 
288
              <p>
 
289
                <code class="computeroutput"><span class="identifier">search</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
 
290
                <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
 
291
                <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
 
292
                <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span>
 
293
                <span class="identifier">f</span><span class="special">])</span></code>
 
294
              </p>
 
295
            </td>
 
296
</tr>
 
297
<tr>
 
298
<td>
 
299
              <p>
 
300
                <code class="computeroutput"><span class="identifier">lower_bound</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">a</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
301
              </p>
 
302
            </td>
 
303
<td>
 
304
              <p>
 
305
                <code class="computeroutput"><span class="identifier">lower_bound</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">a</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
306
              </p>
 
307
            </td>
 
308
</tr>
 
309
<tr>
 
310
<td>
 
311
              <p>
 
312
                <code class="computeroutput"><span class="identifier">upper_bound</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">a</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
313
              </p>
 
314
            </td>
 
315
<td>
 
316
              <p>
 
317
                <code class="computeroutput"><span class="identifier">upper_bound</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">a</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
318
              </p>
 
319
            </td>
 
320
</tr>
 
321
<tr>
 
322
<td>
 
323
              <p>
 
324
                <code class="computeroutput"><span class="identifier">equal_range</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">a</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
325
              </p>
 
326
            </td>
 
327
<td>
 
328
              <p>
 
329
                <code class="computeroutput"><span class="identifier">equal_range</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">a</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
330
              </p>
 
331
            </td>
 
332
</tr>
 
333
<tr>
 
334
<td>
 
335
              <p>
 
336
                <code class="computeroutput"><span class="identifier">binary_search</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">a</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
337
              </p>
 
338
            </td>
 
339
<td>
 
340
              <p>
 
341
                <code class="computeroutput"><span class="identifier">binary_search</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">a</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
342
              </p>
 
343
            </td>
 
344
</tr>
 
345
<tr>
 
346
<td>
 
347
              <p>
 
348
                <code class="computeroutput"><span class="identifier">includes</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">[,</span>
 
349
                <span class="identifier">f</span><span class="special">])</span></code>
 
350
              </p>
 
351
            </td>
 
352
<td>
 
353
              <p>
 
354
                <code class="computeroutput"><span class="identifier">includes</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
 
355
                <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
 
356
                <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
 
357
                <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span>
 
358
                <span class="identifier">f</span><span class="special">])</span></code>
 
359
              </p>
 
360
            </td>
 
361
</tr>
 
362
<tr>
 
363
<td>
 
364
              <p>
 
365
                <code class="computeroutput"><span class="identifier">min_element</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
366
              </p>
 
367
            </td>
 
368
<td>
 
369
              <p>
 
370
                <code class="computeroutput"><span class="identifier">min_element</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
 
371
                <span class="identifier">f</span><span class="special">])</span></code>
 
372
              </p>
 
373
            </td>
 
374
</tr>
 
375
<tr>
 
376
<td>
 
377
              <p>
 
378
                <code class="computeroutput"><span class="identifier">max_element</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
379
              </p>
 
380
            </td>
 
381
<td>
 
382
              <p>
 
383
                <code class="computeroutput"><span class="identifier">max_element</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
 
384
                <span class="identifier">f</span><span class="special">])</span></code>
 
385
              </p>
 
386
            </td>
 
387
</tr>
 
388
<tr>
 
389
<td>
 
390
              <p>
 
391
                <code class="computeroutput"><span class="identifier">lexicographical_compare</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
392
              </p>
 
393
            </td>
 
394
<td>
 
395
              <p>
 
396
                <code class="computeroutput"><span class="identifier">lexicographical_compare</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
397
              </p>
 
398
            </td>
 
399
</tr>
 
400
</tbody>
 
401
</table></div>
 
402
</div>
 
403
<br class="table-break"><div class="table">
 
404
<a name="id862051"></a><p class="title"><b>Table&#160;1.9.&#160;Transformation Algorithms</b></p>
 
405
<div class="table-contents"><table class="table" summary="Transformation Algorithms">
 
406
<colgroup>
 
407
<col>
 
408
<col>
 
409
</colgroup>
 
410
<thead><tr>
 
411
<th>
 
412
              <p>
 
413
                Function
 
414
              </p>
 
415
            </th>
 
416
<th>
 
417
              <p>
 
418
                stl Semantics
 
419
              </p>
 
420
            </th>
 
421
</tr></thead>
 
422
<tbody>
 
423
<tr>
 
424
<td>
 
425
              <p>
 
426
                <code class="computeroutput"><span class="identifier">copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">)</span></code>
 
427
              </p>
 
428
            </td>
 
429
<td>
 
430
              <p>
 
431
                <code class="computeroutput"><span class="identifier">copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">)</span></code>
 
432
              </p>
 
433
            </td>
 
434
</tr>
 
435
<tr>
 
436
<td>
 
437
              <p>
 
438
                <code class="computeroutput"><span class="identifier">copy_backward</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">)</span></code>
 
439
              </p>
 
440
            </td>
 
441
<td>
 
442
              <p>
 
443
                <code class="computeroutput"><span class="identifier">copy_backward</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">)</span></code>
 
444
              </p>
 
445
            </td>
 
446
</tr>
 
447
<tr>
 
448
<td>
 
449
              <p>
 
450
                <code class="computeroutput"><span class="identifier">transform</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
 
451
              </p>
 
452
            </td>
 
453
<td>
 
454
              <p>
 
455
                <code class="computeroutput"><span class="identifier">transform</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
 
456
              </p>
 
457
            </td>
 
458
</tr>
 
459
<tr>
 
460
<td>
 
461
              <p>
 
462
                <code class="computeroutput"><span class="identifier">transform</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
 
463
              </p>
 
464
            </td>
 
465
<td>
 
466
              <p>
 
467
                <code class="computeroutput"><span class="identifier">transform</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
 
468
              </p>
 
469
            </td>
 
470
</tr>
 
471
<tr>
 
472
<td>
 
473
              <p>
 
474
                <code class="computeroutput"><span class="identifier">replace</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span></code>
 
475
              </p>
 
476
            </td>
 
477
<td>
 
478
              <p>
 
479
                <code class="computeroutput"><span class="identifier">replace</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span></code>
 
480
              </p>
 
481
            </td>
 
482
</tr>
 
483
<tr>
 
484
<td>
 
485
              <p>
 
486
                <code class="computeroutput"><span class="identifier">replace_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
 
487
              </p>
 
488
            </td>
 
489
<td>
 
490
              <p>
 
491
                <code class="computeroutput"><span class="identifier">replace</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
 
492
              </p>
 
493
            </td>
 
494
</tr>
 
495
<tr>
 
496
<td>
 
497
              <p>
 
498
                <code class="computeroutput"><span class="identifier">replace_copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span></code>
 
499
              </p>
 
500
            </td>
 
501
<td>
 
502
              <p>
 
503
                <code class="computeroutput"><span class="identifier">replace_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span></code>
 
504
              </p>
 
505
            </td>
 
506
</tr>
 
507
<tr>
 
508
<td>
 
509
              <p>
 
510
                <code class="computeroutput"><span class="identifier">replace_copy_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
 
511
              </p>
 
512
            </td>
 
513
<td>
 
514
              <p>
 
515
                <code class="computeroutput"><span class="identifier">replace_copy_if</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
 
516
              </p>
 
517
            </td>
 
518
</tr>
 
519
<tr>
 
520
<td>
 
521
              <p>
 
522
                <code class="computeroutput"><span class="identifier">fill</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
 
523
              </p>
 
524
            </td>
 
525
<td>
 
526
              <p>
 
527
                <code class="computeroutput"><span class="identifier">fill</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">a</span><span class="special">)</span></code>
 
528
              </p>
 
529
            </td>
 
530
</tr>
 
531
<tr>
 
532
<td>
 
533
              <p>
 
534
                <code class="computeroutput"><span class="identifier">fill_n</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
 
535
              </p>
 
536
            </td>
 
537
<td>
 
538
              <p>
 
539
                <code class="computeroutput"><span class="identifier">fill_n</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
 
540
              </p>
 
541
            </td>
 
542
</tr>
 
543
<tr>
 
544
<td>
 
545
              <p>
 
546
                <code class="computeroutput"><span class="identifier">generate</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
 
547
              </p>
 
548
            </td>
 
549
<td>
 
550
              <p>
 
551
                <code class="computeroutput"><span class="identifier">generate</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">f</span><span class="special">)</span></code>
 
552
              </p>
 
553
            </td>
 
554
</tr>
 
555
<tr>
 
556
<td>
 
557
              <p>
 
558
                <code class="computeroutput"><span class="identifier">generate_n</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
 
559
              </p>
 
560
            </td>
 
561
<td>
 
562
              <p>
 
563
                <code class="computeroutput"><span class="identifier">generate_n</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
 
564
              </p>
 
565
            </td>
 
566
</tr>
 
567
<tr>
 
568
<td>
 
569
              <p>
 
570
                <code class="computeroutput"><span class="identifier">remove</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
 
571
              </p>
 
572
            </td>
 
573
<td>
 
574
              <p>
 
575
                <code class="computeroutput"><span class="identifier">remove</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">a</span><span class="special">)</span></code>
 
576
              </p>
 
577
            </td>
 
578
</tr>
 
579
<tr>
 
580
<td>
 
581
              <p>
 
582
                <code class="computeroutput"><span class="identifier">remove_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
 
583
              </p>
 
584
            </td>
 
585
<td>
 
586
              <p>
 
587
                <code class="computeroutput"><span class="identifier">remove_if</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">f</span><span class="special">)</span></code>
 
588
              </p>
 
589
            </td>
 
590
</tr>
 
591
<tr>
 
592
<td>
 
593
              <p>
 
594
                <code class="computeroutput"><span class="identifier">remove_copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
 
595
              </p>
 
596
            </td>
 
597
<td>
 
598
              <p>
 
599
                <code class="computeroutput"><span class="identifier">remove_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
 
600
              </p>
 
601
            </td>
 
602
</tr>
 
603
<tr>
 
604
<td>
 
605
              <p>
 
606
                <code class="computeroutput"><span class="identifier">remove_copy_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
 
607
              </p>
 
608
            </td>
 
609
<td>
 
610
              <p>
 
611
                <code class="computeroutput"><span class="identifier">remove_copy_if</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
 
612
              </p>
 
613
            </td>
 
614
</tr>
 
615
<tr>
 
616
<td>
 
617
              <p>
 
618
                <code class="computeroutput"><span class="identifier">unique</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
619
              </p>
 
620
            </td>
 
621
<td>
 
622
              <p>
 
623
                <code class="computeroutput"><span class="identifier">unique</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
 
624
                <span class="identifier">f</span><span class="special">])</span></code>
 
625
              </p>
 
626
            </td>
 
627
</tr>
 
628
<tr>
 
629
<td>
 
630
              <p>
 
631
                <code class="computeroutput"><span class="identifier">unique_copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
632
              </p>
 
633
            </td>
 
634
<td>
 
635
              <p>
 
636
                <code class="computeroutput"><span class="identifier">unique_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
637
              </p>
 
638
            </td>
 
639
</tr>
 
640
<tr>
 
641
<td>
 
642
              <p>
 
643
                <code class="computeroutput"><span class="identifier">reverse</span><span class="special">(</span><span class="identifier">r</span><span class="special">)</span></code>
 
644
              </p>
 
645
            </td>
 
646
<td>
 
647
              <p>
 
648
                <code class="computeroutput"><span class="identifier">reverse</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">))</span></code>
 
649
              </p>
 
650
            </td>
 
651
</tr>
 
652
<tr>
 
653
<td>
 
654
              <p>
 
655
                <code class="computeroutput"><span class="identifier">reverse_copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">)</span></code>
 
656
              </p>
 
657
            </td>
 
658
<td>
 
659
              <p>
 
660
                <code class="computeroutput"><span class="identifier">reverse_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">)</span></code>
 
661
              </p>
 
662
            </td>
 
663
</tr>
 
664
<tr>
 
665
<td>
 
666
              <p>
 
667
                <code class="computeroutput"><span class="identifier">rotate</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">m</span><span class="special">)</span></code>
 
668
              </p>
 
669
            </td>
 
670
<td>
 
671
              <p>
 
672
                <code class="computeroutput"><span class="identifier">rotate</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">))</span></code>
 
673
              </p>
 
674
            </td>
 
675
</tr>
 
676
<tr>
 
677
<td>
 
678
              <p>
 
679
                <code class="computeroutput"><span class="identifier">rotate_copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">o</span><span class="special">)</span></code>
 
680
              </p>
 
681
            </td>
 
682
<td>
 
683
              <p>
 
684
                <code class="computeroutput"><span class="identifier">rotate_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">)</span></code>
 
685
              </p>
 
686
            </td>
 
687
</tr>
 
688
<tr>
 
689
<td>
 
690
              <p>
 
691
                <code class="computeroutput"><span class="identifier">random_shuffle</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
692
              </p>
 
693
            </td>
 
694
<td>
 
695
              <p>
 
696
                <code class="computeroutput"><span class="identifier">random_shuffle</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">f</span><span class="special">)</span></code>
 
697
              </p>
 
698
            </td>
 
699
</tr>
 
700
<tr>
 
701
<td>
 
702
              <p>
 
703
                <code class="computeroutput"><span class="identifier">partition</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
 
704
              </p>
 
705
            </td>
 
706
<td>
 
707
              <p>
 
708
                <code class="computeroutput"><span class="identifier">partition</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">f</span><span class="special">)</span></code>
 
709
              </p>
 
710
            </td>
 
711
</tr>
 
712
<tr>
 
713
<td>
 
714
              <p>
 
715
                <code class="computeroutput"><span class="identifier">stable_partition</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
 
716
              </p>
 
717
            </td>
 
718
<td>
 
719
              <p>
 
720
                <code class="computeroutput"><span class="identifier">stable_partition</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">f</span><span class="special">)</span></code>
 
721
              </p>
 
722
            </td>
 
723
</tr>
 
724
<tr>
 
725
<td>
 
726
              <p>
 
727
                <code class="computeroutput"><span class="identifier">sort</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
728
              </p>
 
729
            </td>
 
730
<td>
 
731
              <p>
 
732
                <code class="computeroutput"><span class="identifier">sort</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
 
733
                <span class="identifier">f</span><span class="special">])</span></code>
 
734
              </p>
 
735
            </td>
 
736
</tr>
 
737
<tr>
 
738
<td>
 
739
              <p>
 
740
                <code class="computeroutput"><span class="identifier">stable_sort</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
741
              </p>
 
742
            </td>
 
743
<td>
 
744
              <p>
 
745
                <code class="computeroutput"><span class="identifier">stable_sort</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
 
746
                <span class="identifier">f</span><span class="special">])</span></code>
 
747
              </p>
 
748
            </td>
 
749
</tr>
 
750
<tr>
 
751
<td>
 
752
              <p>
 
753
                <code class="computeroutput"><span class="identifier">partial_sort</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">m</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
754
              </p>
 
755
            </td>
 
756
<td>
 
757
              <p>
 
758
                <code class="computeroutput"><span class="identifier">partial_sort</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
 
759
                <span class="identifier">f</span><span class="special">])</span></code>
 
760
              </p>
 
761
            </td>
 
762
</tr>
 
763
<tr>
 
764
<td>
 
765
              <p>
 
766
                <code class="computeroutput"><span class="identifier">partial_sort_copy</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
767
              </p>
 
768
            </td>
 
769
<td>
 
770
              <p>
 
771
                <code class="computeroutput"><span class="identifier">partial_sort_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
772
              </p>
 
773
            </td>
 
774
</tr>
 
775
<tr>
 
776
<td>
 
777
              <p>
 
778
                <code class="computeroutput"><span class="identifier">nth_element</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">n</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
779
              </p>
 
780
            </td>
 
781
<td>
 
782
              <p>
 
783
                <code class="computeroutput"><span class="identifier">nth_element</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
 
784
                <span class="identifier">f</span><span class="special">])</span></code>
 
785
              </p>
 
786
            </td>
 
787
</tr>
 
788
<tr>
 
789
<td>
 
790
              <p>
 
791
                <code class="computeroutput"><span class="identifier">merge</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
792
              </p>
 
793
            </td>
 
794
<td>
 
795
              <p>
 
796
                <code class="computeroutput"><span class="identifier">merge</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
 
797
                <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
 
798
                <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
 
799
                <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
 
800
                <span class="identifier">o</span><span class="special">[,</span>
 
801
                <span class="identifier">f</span><span class="special">])</span></code>
 
802
              </p>
 
803
            </td>
 
804
</tr>
 
805
<tr>
 
806
<td>
 
807
              <p>
 
808
                <code class="computeroutput"><span class="identifier">inplace_merge</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">m</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
809
              </p>
 
810
            </td>
 
811
<td>
 
812
              <p>
 
813
                <code class="computeroutput"><span class="identifier">inplace_merge</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
 
814
                <span class="identifier">f</span><span class="special">])</span></code>
 
815
              </p>
 
816
            </td>
 
817
</tr>
 
818
<tr>
 
819
<td>
 
820
              <p>
 
821
                <code class="computeroutput"><span class="identifier">set_union</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
822
              </p>
 
823
            </td>
 
824
<td>
 
825
              <p>
 
826
                <code class="computeroutput"><span class="identifier">set_union</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
 
827
                <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
 
828
                <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
 
829
                <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span>
 
830
                <span class="identifier">f</span><span class="special">])</span></code>
 
831
              </p>
 
832
            </td>
 
833
</tr>
 
834
<tr>
 
835
<td>
 
836
              <p>
 
837
                <code class="computeroutput"><span class="identifier">set_intersection</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
838
              </p>
 
839
            </td>
 
840
<td>
 
841
              <p>
 
842
                <code class="computeroutput"><span class="identifier">set_intersection</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
843
              </p>
 
844
            </td>
 
845
</tr>
 
846
<tr>
 
847
<td>
 
848
              <p>
 
849
                <code class="computeroutput"><span class="identifier">set_difference</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
850
              </p>
 
851
            </td>
 
852
<td>
 
853
              <p>
 
854
                <code class="computeroutput"><span class="identifier">set_difference</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
 
855
                <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
 
856
                <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
 
857
                <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span>
 
858
                <span class="identifier">f</span><span class="special">])</span></code>
 
859
              </p>
 
860
            </td>
 
861
</tr>
 
862
<tr>
 
863
<td>
 
864
              <p>
 
865
                <code class="computeroutput"><span class="identifier">set_symmetric_difference</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
866
              </p>
 
867
            </td>
 
868
<td>
 
869
              <p>
 
870
                <code class="computeroutput"><span class="identifier">set_symmetric_difference</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
871
              </p>
 
872
            </td>
 
873
</tr>
 
874
<tr>
 
875
<td>
 
876
              <p>
 
877
                <code class="computeroutput"><span class="identifier">push_heap</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
878
              </p>
 
879
            </td>
 
880
<td>
 
881
              <p>
 
882
                <code class="computeroutput"><span class="identifier">push_heap</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
 
883
                <span class="identifier">f</span><span class="special">])</span></code>
 
884
              </p>
 
885
            </td>
 
886
</tr>
 
887
<tr>
 
888
<td>
 
889
              <p>
 
890
                <code class="computeroutput"><span class="identifier">pop_heap</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
891
              </p>
 
892
            </td>
 
893
<td>
 
894
              <p>
 
895
                <code class="computeroutput"><span class="identifier">pop_heap</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
 
896
                <span class="identifier">f</span><span class="special">])</span></code>
 
897
              </p>
 
898
            </td>
 
899
</tr>
 
900
<tr>
 
901
<td>
 
902
              <p>
 
903
                <code class="computeroutput"><span class="identifier">make_heap</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
904
              </p>
 
905
            </td>
 
906
<td>
 
907
              <p>
 
908
                <code class="computeroutput"><span class="identifier">make_heap</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
 
909
                <span class="identifier">f</span><span class="special">])</span></code>
 
910
              </p>
 
911
            </td>
 
912
</tr>
 
913
<tr>
 
914
<td>
 
915
              <p>
 
916
                <code class="computeroutput"><span class="identifier">sort_heap</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
917
              </p>
 
918
            </td>
 
919
<td>
 
920
              <p>
 
921
                <code class="computeroutput"><span class="identifier">sort_heap</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
 
922
                <span class="identifier">f</span><span class="special">])</span></code>
 
923
              </p>
 
924
            </td>
 
925
</tr>
 
926
<tr>
 
927
<td>
 
928
              <p>
 
929
                <code class="computeroutput"><span class="identifier">next_permutation</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
930
              </p>
 
931
            </td>
 
932
<td>
 
933
              <p>
 
934
                <code class="computeroutput"><span class="identifier">next_permutation</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
935
              </p>
 
936
            </td>
 
937
</tr>
 
938
<tr>
 
939
<td>
 
940
              <p>
 
941
                <code class="computeroutput"><span class="identifier">prev_permutation</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
942
              </p>
 
943
            </td>
 
944
<td>
 
945
              <p>
 
946
                <code class="computeroutput"><span class="identifier">prev_permutation</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
947
              </p>
 
948
            </td>
 
949
</tr>
 
950
<tr>
 
951
<td>
 
952
              <p>
 
953
                <code class="computeroutput"><span class="identifier">inner_product</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">a</span><span class="special">[,</span> <span class="identifier">f1</span><span class="special">,</span> <span class="identifier">f2</span><span class="special">])</span></code>
 
954
              </p>
 
955
            </td>
 
956
<td>
 
957
              <p>
 
958
                <code class="computeroutput"><span class="identifier">inner_product</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f1</span><span class="special">,</span> <span class="identifier">f2</span><span class="special">])</span></code>
 
959
              </p>
 
960
            </td>
 
961
</tr>
 
962
<tr>
 
963
<td>
 
964
              <p>
 
965
                <code class="computeroutput"><span class="identifier">partial_sum</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
966
              </p>
 
967
            </td>
 
968
<td>
 
969
              <p>
 
970
                <code class="computeroutput"><span class="identifier">partial_sum</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
971
              </p>
 
972
            </td>
 
973
</tr>
 
974
<tr>
 
975
<td>
 
976
              <p>
 
977
                <code class="computeroutput"><span class="identifier">adjacent_difference</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
978
              </p>
 
979
            </td>
 
980
<td>
 
981
              <p>
 
982
                <code class="computeroutput"><span class="identifier">adjacent_difference</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
 
983
              </p>
 
984
            </td>
 
985
</tr>
 
986
</tbody>
 
987
</table></div>
 
988
</div>
 
989
<br class="table-break">
 
990
</div>
 
991
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 
992
<td align="left"></td>
 
993
<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005 Joel
 
994
      de Guzman, Dan Marsden<p>
 
995
        Distributed under the Boost Software License, Version 1.0. (See accompanying
 
996
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
 
997
      </p>
 
998
</div></td>
 
999
</tr></table>
 
1000
<hr>
 
1001
<div class="spirit-nav">
 
1002
<a accesskey="p" href="container.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inside_phoenix.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 
1003
</div>
 
1004
</body>
 
1005
</html>