1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>transform</title> 5<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="../../../../index.html" title="Chapter 1. Fusion 2.2"> 8<link rel="up" href="../metafunctions.html" title="Metafunctions"> 9<link rel="prev" href="filter_if.html" title="filter_if"> 10<link rel="next" href="replace.html" title="replace"> 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="filter_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.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="replace.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> 24</div> 25<div class="section"> 26<div class="titlepage"><div><div><h5 class="title"> 27<a name="fusion.algorithm.transformation.metafunctions.transform"></a><a class="link" href="transform.html" title="transform">transform</a> 28</h5></div></div></div> 29<h6> 30<a name="fusion.algorithm.transformation.metafunctions.transform.h0"></a> 31 <span class="phrase"><a name="fusion.algorithm.transformation.metafunctions.transform.description"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.metafunctions.transform.description">Description</a> 32 </h6> 33<p> 34 Returns the result type of <a class="link" href="../functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a>, given the types of 35 the input sequence and unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic 36 Function Object</a>. 37 </p> 38<h6> 39<a name="fusion.algorithm.transformation.metafunctions.transform.h1"></a> 40 <span class="phrase"><a name="fusion.algorithm.transformation.metafunctions.transform.unary_version_synopsis"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.metafunctions.transform.unary_version_synopsis">Unary 41 version synopsis</a> 42 </h6> 43<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> 44 <span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> 45 <span class="keyword">typename</span> <span class="identifier">F</span> 46 <span class="special">></span> 47<span class="keyword">struct</span> <span class="identifier">transform</span> 48<span class="special">{</span> 49 <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> 50<span class="special">};</span> 51</pre> 52<div class="table"> 53<a name="fusion.algorithm.transformation.metafunctions.transform.t0"></a><p class="title"><b>Table 1.89. Parameters</b></p> 54<div class="table-contents"><table class="table" summary="Parameters"> 55<colgroup> 56<col> 57<col> 58<col> 59</colgroup> 60<thead><tr> 61<th> 62 <p> 63 Parameter 64 </p> 65 </th> 66<th> 67 <p> 68 Requirement 69 </p> 70 </th> 71<th> 72 <p> 73 Description 74 </p> 75 </th> 76</tr></thead> 77<tbody> 78<tr> 79<td> 80 <p> 81 <code class="computeroutput"><span class="identifier">Sequence</span></code> 82 </p> 83 </td> 84<td> 85 <p> 86 A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward 87 Sequence</a> 88 </p> 89 </td> 90<td> 91 <p> 92 Operation's argument 93 </p> 94 </td> 95</tr> 96<tr> 97<td> 98 <p> 99 <code class="computeroutput"><span class="identifier">F</span></code> 100 </p> 101 </td> 102<td> 103 <p> 104 A model of unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic 105 Function Object</a> 106 </p> 107 </td> 108<td> 109 <p> 110 Transformation metafunction 111 </p> 112 </td> 113</tr> 114</tbody> 115</table></div> 116</div> 117<br class="table-break"><h6> 118<a name="fusion.algorithm.transformation.metafunctions.transform.h2"></a> 119 <span class="phrase"><a name="fusion.algorithm.transformation.metafunctions.transform.expression_semantics"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.metafunctions.transform.expression_semantics">Expression 120 Semantics</a> 121 </h6> 122<pre class="programlisting"><a class="link" href="transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special"><</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> 123</pre> 124<p> 125 <span class="bold"><strong>Return type</strong></span>: 126 </p> 127<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 128<li class="listitem"> 129 A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward 130 Sequence</a> 131 </li> 132<li class="listitem"> 133 A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative 134 Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code> 135 implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative 136 Sequence</a> model. 137 </li> 138</ul></div> 139<p> 140 <span class="bold"><strong>Semantics</strong></span>: Returns a sequence that contains 141 the types of <code class="computeroutput"><span class="identifier">__result_of__</span><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E</span><span class="special">)>::</span><span class="identifier">type</span></code> 142 for each element <code class="computeroutput"><span class="identifier">E</span></code> within 143 <code class="computeroutput"><span class="identifier">Sequence</span></code>. 144 </p> 145<h6> 146<a name="fusion.algorithm.transformation.metafunctions.transform.h3"></a> 147 <span class="phrase"><a name="fusion.algorithm.transformation.metafunctions.transform.binary_version_synopsis"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.metafunctions.transform.binary_version_synopsis">Binary 148 version synopsis</a> 149 </h6> 150<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> 151 <span class="keyword">typename</span> <span class="identifier">Sequence1</span><span class="special">,</span> 152 <span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">,</span> 153 <span class="keyword">typename</span> <span class="identifier">F</span> 154 <span class="special">></span> 155<span class="keyword">struct</span> <span class="identifier">transform</span> 156<span class="special">{</span> 157 <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> 158<span class="special">};</span> 159</pre> 160<div class="table"> 161<a name="fusion.algorithm.transformation.metafunctions.transform.t1"></a><p class="title"><b>Table 1.90. Parameters</b></p> 162<div class="table-contents"><table class="table" summary="Parameters"> 163<colgroup> 164<col> 165<col> 166<col> 167</colgroup> 168<thead><tr> 169<th> 170 <p> 171 Parameter 172 </p> 173 </th> 174<th> 175 <p> 176 Requirement 177 </p> 178 </th> 179<th> 180 <p> 181 Description 182 </p> 183 </th> 184</tr></thead> 185<tbody> 186<tr> 187<td> 188 <p> 189 <code class="computeroutput"><span class="identifier">Sequence1</span></code> 190 </p> 191 </td> 192<td> 193 <p> 194 A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward 195 Sequence</a> 196 </p> 197 </td> 198<td> 199 <p> 200 Operation's argument 201 </p> 202 </td> 203</tr> 204<tr> 205<td> 206 <p> 207 <code class="computeroutput"><span class="identifier">Sequence2</span></code> 208 </p> 209 </td> 210<td> 211 <p> 212 A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward 213 Sequence</a> 214 </p> 215 </td> 216<td> 217 <p> 218 Operation's argument 219 </p> 220 </td> 221</tr> 222<tr> 223<td> 224 <p> 225 <code class="computeroutput"><span class="identifier">F</span></code> 226 </p> 227 </td> 228<td> 229 <p> 230 A model of binary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic 231 Function Object</a> 232 </p> 233 </td> 234<td> 235 <p> 236 Transformation metafunction 237 </p> 238 </td> 239</tr> 240</tbody> 241</table></div> 242</div> 243<br class="table-break"><h6> 244<a name="fusion.algorithm.transformation.metafunctions.transform.h4"></a> 245 <span class="phrase"><a name="fusion.algorithm.transformation.metafunctions.transform.expression_semantics0"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.metafunctions.transform.expression_semantics0">Expression 246 Semantics</a> 247 </h6> 248<pre class="programlisting"><a class="link" href="transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special"><</span><span class="identifier">Sequence1</span><span class="special">,</span> <span class="identifier">Sequence2</span><span class="special">,</span> <span class="identifier">F</span><span class="special">>::</span><span class="identifier">type</span> 249</pre> 250<p> 251 <span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward 252 Sequence</a>. 253 </p> 254<p> 255 <span class="bold"><strong>Semantics</strong></span>: Returns a sequence, that 256 contains the types of <code class="computeroutput"><span class="identifier">__result_of__</span><span class="special"><</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E1</span><span class="special">,</span> <span class="identifier">E2</span><span class="special">)>::</span><span class="identifier">type</span></code> 257 for each pair of elements <code class="computeroutput"><span class="identifier">E1</span></code> 258 and <code class="computeroutput"><span class="identifier">E2</span></code> within <code class="computeroutput"><span class="identifier">Sequence1</span></code> and <code class="computeroutput"><span class="identifier">Sequence2</span></code> 259 respectively. 260 </p> 261<h6> 262<a name="fusion.algorithm.transformation.metafunctions.transform.h5"></a> 263 <span class="phrase"><a name="fusion.algorithm.transformation.metafunctions.transform.complexity"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.metafunctions.transform.complexity">Complexity</a> 264 </h6> 265<p> 266 Constant. 267 </p> 268<h6> 269<a name="fusion.algorithm.transformation.metafunctions.transform.h6"></a> 270 <span class="phrase"><a name="fusion.algorithm.transformation.metafunctions.transform.header"></a></span><a class="link" href="transform.html#fusion.algorithm.transformation.metafunctions.transform.header">Header</a> 271 </h6> 272<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</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">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> 273<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> 274</pre> 275</div> 276<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 277<td align="left"></td> 278<td align="right"><div class="copyright-footer">Copyright © 2001-2006, 2011, 2012 Joel de Guzman, 279 Dan Marsden, Tobias Schwinger<p> 280 Distributed under the Boost Software License, Version 1.0. (See accompanying 281 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>) 282 </p> 283</div></td> 284</tr></table> 285<hr> 286<div class="spirit-nav"> 287<a accesskey="p" href="filter_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.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="replace.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> 288</div> 289</body> 290</html> 291