1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>Store a Parsed Attribute Value into a Container (Qi)</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="Spirit 2.5.8"> 8<link rel="up" href="../store_value.html" title="Store Parsed Attribute Values into a Container (Qi)"> 9<link rel="prev" href="container_value.html" title="Determine the Type to be Stored in a Container (Qi)"> 10<link rel="next" href="../clear_value.html" title="Re-Initialize an Attribute Value before Parsing (Qi)"> 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_value.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../store_value.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="../clear_value.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="spirit.advanced.customize.store_value.push_back"></a><a class="link" href="push_back.html" title="Store a Parsed Attribute Value into a Container (Qi)">Store 28 a Parsed Attribute Value into a Container (Qi)</a> 29</h5></div></div></div> 30<h6> 31<a name="spirit.advanced.customize.store_value.push_back.h0"></a> 32 <span class="phrase"><a name="spirit.advanced.customize.store_value.push_back.push_back_container"></a></span><a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.push_back_container">push_back_container</a> 33 </h6> 34<p> 35 The template <code class="computeroutput"><span class="identifier">push_back_container</span></code> 36 is a type used as an attribute customization point. It is invoked by 37 the <span class="emphasis"><em>Qi</em></span> repetitive parsers (<a class="link" href="../../../qi/reference/operator/kleene.html" title="Kleene Parser (*a)">Kleene</a>, 38 <a class="link" href="../../../qi/reference/operator/plus.html" title="Plus Parser (+a)">Plus</a>, <a class="link" href="../../../qi/reference/operator/list.html" title="List Parser (a % b)">List</a>, and <a class="link" href="../../../qi/reference/directive/repeat.html" title="Repetition Parser Directive (repeat[])">Repeat</a>) 39 to store a parsed attribute value into a container. 40 </p> 41<h6> 42<a name="spirit.advanced.customize.store_value.push_back.h1"></a> 43 <span class="phrase"><a name="spirit.advanced.customize.store_value.push_back.module_headers"></a></span><a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.module_headers">Module 44 Headers</a> 45 </h6> 46<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">support</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> 47</pre> 48<p> 49 Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>. 50 </p> 51<div class="note"><table border="0" summary="Note"> 52<tr> 53<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../images/note.png"></td> 54<th align="left">Note</th> 55</tr> 56<tr><td align="left" valign="top"><p> 57 This header file does not need to be included directly by any user 58 program as it is normally included by other Spirit header files relying 59 on its content. 60 </p></td></tr> 61</table></div> 62<h6> 63<a name="spirit.advanced.customize.store_value.push_back.h2"></a> 64 <span class="phrase"><a name="spirit.advanced.customize.store_value.push_back.namespace"></a></span><a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.namespace">Namespace</a> 65 </h6> 66<div class="informaltable"><table class="table"> 67<colgroup><col></colgroup> 68<thead><tr><th> 69 <p> 70 Name 71 </p> 72 </th></tr></thead> 73<tbody><tr><td> 74 <p> 75 <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code> 76 </p> 77 </td></tr></tbody> 78</table></div> 79<h6> 80<a name="spirit.advanced.customize.store_value.push_back.h3"></a> 81 <span class="phrase"><a name="spirit.advanced.customize.store_value.push_back.synopsis"></a></span><a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.synopsis">Synopsis</a> 82 </h6> 83<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Attrib</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">></span> 84<span class="keyword">struct</span> <span class="identifier">push_back_container</span> 85<span class="special">{</span> 86 <span class="keyword">static</span> <span class="keyword">bool</span> <span class="identifier">call</span><span class="special">(</span><span class="identifier">Container</span><span class="special">&</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">Attrib</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">val</span><span class="special">);</span> 87<span class="special">};</span> 88</pre> 89<h6> 90<a name="spirit.advanced.customize.store_value.push_back.h4"></a> 91 <span class="phrase"><a name="spirit.advanced.customize.store_value.push_back.template_parameters"></a></span><a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.template_parameters">Template 92 parameters</a> 93 </h6> 94<div class="informaltable"><table class="table"> 95<colgroup> 96<col> 97<col> 98<col> 99</colgroup> 100<thead><tr> 101<th> 102 <p> 103 Parameter 104 </p> 105 </th> 106<th> 107 <p> 108 Description 109 </p> 110 </th> 111<th> 112 <p> 113 Default 114 </p> 115 </th> 116</tr></thead> 117<tbody> 118<tr> 119<td> 120 <p> 121 <code class="computeroutput"><span class="identifier">Container</span></code> 122 </p> 123 </td> 124<td> 125 <p> 126 The type, <code class="computeroutput"><span class="identifier">Container</span></code> 127 needs to be tested whether it has to be treated as a container 128 </p> 129 </td> 130<td> 131 <p> 132 none 133 </p> 134 </td> 135</tr> 136<tr> 137<td> 138 <p> 139 <code class="computeroutput"><span class="identifier">Attrib</span></code> 140 </p> 141 </td> 142<td> 143 <p> 144 The type, <code class="computeroutput"><span class="identifier">Attrib</span></code> 145 is the one returned from the customization point <a class="link" href="container_value.html" title="Determine the Type to be Stored in a Container (Qi)"><code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">container_value</span></code></a> and 146 represents the attribute value to be stored in the container 147 of type <code class="computeroutput"><span class="identifier">Container</span></code>. 148 </p> 149 </td> 150<td> 151 <p> 152 none 153 </p> 154 </td> 155</tr> 156<tr> 157<td> 158 <p> 159 <code class="computeroutput"><span class="identifier">Enable</span></code> 160 </p> 161 </td> 162<td> 163 <p> 164 Helper template parameter usable to selectively enable or disable 165 certain specializations of <code class="computeroutput"><span class="identifier">push_back_container</span></code> 166 utilizing SFINAE (i.e. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code> 167 or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></code>). 168 </p> 169 </td> 170<td> 171 <p> 172 <code class="computeroutput"><span class="keyword">void</span></code> 173 </p> 174 </td> 175</tr> 176</tbody> 177</table></div> 178<div class="variablelist"> 179<p class="title"><b>Notation</b></p> 180<dl class="variablelist"> 181<dt><span class="term"><code class="computeroutput"><span class="identifier">C</span></code></span></dt> 182<dd><p> 183 A type to be used as a container to store attribute values in. 184 </p></dd> 185<dt><span class="term"><code class="computeroutput"><span class="identifier">c</span></code></span></dt> 186<dd> 187<p> 188 A container instance of type <code class="computeroutput"><span class="identifier">C</span></code>. 189 </p> 190<p> 191 [<code class="computeroutput"><span class="identifier">Attrib</span></code> 192 </p> 193<p> 194 A type to be used as a container to store attribute values in. 195 </p> 196</dd> 197<dt><span class="term"><code class="computeroutput"><span class="identifier">attr</span></code></span></dt> 198<dd><p> 199 An attribute instance of type <code class="computeroutput"><span class="identifier">Attrib</span></code>. 200 </p></dd> 201<dt><span class="term"><code class="computeroutput"><span class="identifier">T1</span></code>, <code class="computeroutput"><span class="identifier">T2</span></code>, ...</span></dt> 202<dd><p> 203 Arbitrary types 204 </p></dd> 205</dl> 206</div> 207<h6> 208<a name="spirit.advanced.customize.store_value.push_back.h5"></a> 209 <span class="phrase"><a name="spirit.advanced.customize.store_value.push_back.expression_semantics"></a></span><a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.expression_semantics">Expression 210 Semantics</a> 211 </h6> 212<div class="informaltable"><table class="table"> 213<colgroup> 214<col> 215<col> 216</colgroup> 217<thead><tr> 218<th> 219 <p> 220 Expression 221 </p> 222 </th> 223<th> 224 <p> 225 Semantics 226 </p> 227 </th> 228</tr></thead> 229<tbody><tr> 230<td> 231 <p> 232</p> 233<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">push_back_container</span><span class="special"><</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">Attrib</span><span class="special">>::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">attr</span><span class="special">)</span></pre> 234<p> 235 </p> 236 </td> 237<td> 238 <p> 239 Static function that is invoked whenever an attribute value, 240 <code class="computeroutput"><span class="identifier">attr</span></code> needs 241 to be stored into the container instance <code class="computeroutput"><span class="identifier">c</span></code>. 242 This function should return <code class="computeroutput"><span class="keyword">true</span></code> 243 on success and <code class="computeroutput"><span class="keyword">false</span></code> 244 otherwise. Returning <code class="computeroutput"><span class="keyword">false</span></code> 245 causes the corresponding parser to fail. 246 </p> 247 </td> 248</tr></tbody> 249</table></div> 250<h6> 251<a name="spirit.advanced.customize.store_value.push_back.h6"></a> 252 <span class="phrase"><a name="spirit.advanced.customize.store_value.push_back.predefined_specializations"></a></span><a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.predefined_specializations">Predefined 253 Specializations</a> 254 </h6> 255<p> 256 <a href="http://boost-spirit.com" target="_top">Spirit</a> predefines specializations 257 of this customization point for several types. The following table lists 258 those types together with the types exposed and the corresponding semantics: 259 </p> 260<div class="informaltable"><table class="table"> 261<colgroup> 262<col> 263<col> 264</colgroup> 265<thead><tr> 266<th> 267 <p> 268 Template Parameters 269 </p> 270 </th> 271<th> 272 <p> 273 Semantics 274 </p> 275 </th> 276</tr></thead> 277<tbody> 278<tr> 279<td> 280 <p> 281 <code class="computeroutput"><span class="identifier">C</span></code>, <code class="computeroutput"><span class="identifier">Attrib</span></code> 282 </p> 283 </td> 284<td> 285 <p> 286 Store the provided attribute instance <code class="computeroutput"><span class="identifier">attr</span></code> 287 into the given container <code class="computeroutput"><span class="identifier">c</span></code> 288 using the function call <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">attr</span><span class="special">)</span></code>. 289 </p> 290 </td> 291</tr> 292<tr> 293<td> 294 <p> 295 <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special"><</span><span class="identifier">C</span><span class="special">></span></code>, 296 <code class="computeroutput"><span class="identifier">Attrib</span></code> 297 </p> 298 </td> 299<td> 300 <p> 301 If the provided instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special"><></span></code> is not initialized, 302 invoke the appropriate initialization and afterwards apply 303 the customization point <code class="computeroutput"><span class="identifier">push_back_container</span><span class="special"><</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">Attrib</span><span class="special">></span></code>, treating the instance 304 held by the optional (of type <code class="computeroutput"><span class="identifier">C</span></code>) 305 as the container to store the attribute in. 306 </p> 307 </td> 308</tr> 309<tr> 310<td> 311 <p> 312 <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span><span class="special"><</span><span class="identifier">T1</span><span class="special">,</span> 313 <span class="identifier">T2</span><span class="special">,</span> 314 <span class="special">...></span></code>, <code class="computeroutput"><span class="identifier">Attrib</span></code> 315 </p> 316 </td> 317<td> 318 <p> 319 If the instance of the variant currently holds a value with 320 a type, <code class="computeroutput"><span class="identifier">TN</span></code>, 321 for which <code class="computeroutput"><span class="identifier">is_container</span><span class="special"><</span><span class="identifier">TN</span><span class="special">>::</span><span class="identifier">type</span></code> 322 evaluates to <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code>, 323 this customization point specialization will apply <code class="computeroutput"><span class="identifier">push_back_container</span><span class="special"><</span><span class="identifier">TN</span><span class="special">,</span> 324 <span class="identifier">Attrib</span><span class="special">></span></code>, 325 treating the instance held by the variant (of type <code class="computeroutput"><span class="identifier">TN</span></code>) as the container to store 326 the attribute in. Otherwise it will raise an assertion. 327 </p> 328 </td> 329</tr> 330<tr> 331<td> 332 <p> 333 <code class="computeroutput"><span class="identifier">unused_type</span></code> 334 </p> 335 </td> 336<td> 337 <p> 338 Do nothing. 339 </p> 340 </td> 341</tr> 342</tbody> 343</table></div> 344<h6> 345<a name="spirit.advanced.customize.store_value.push_back.h7"></a> 346 <span class="phrase"><a name="spirit.advanced.customize.store_value.push_back.when_to_implement"></a></span><a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.when_to_implement">When 347 to Implement</a> 348 </h6> 349<p> 350 The customization point <code class="computeroutput"><span class="identifier">push_back_container</span></code> 351 needs to be implemented for a specific type whenever this type is to 352 be used as an attribute in place of a STL container. It is applicable 353 for parsers (<span class="emphasis"><em>Spirit.Qi</em></span>) only. As a rule of thumb: 354 it has to be implemented whenever a certain type is to be passed as an 355 attribute to a parser normally exposing a STL container and if the type 356 does not expose the interface of a STL container (i.e. no function being 357 equivalent to <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">attr</span><span class="special">)</span></code>. 358 These components have an attribute propagation rule in the form: 359 </p> 360<pre class="programlisting"><span class="identifier">a</span><span class="special">:</span> <span class="identifier">A</span> <span class="special">--></span> <span class="identifier">Op</span><span class="special">(</span><span class="identifier">a</span><span class="special">):</span> <span class="identifier">vector</span><span class="special"><</span><span class="identifier">A</span><span class="special">></span> 361</pre> 362<p> 363 where <code class="computeroutput"><span class="identifier">Op</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code> 364 stands for any meaningful operation on the component <code class="computeroutput"><span class="identifier">a</span></code>. 365 </p> 366<h6> 367<a name="spirit.advanced.customize.store_value.push_back.h8"></a> 368 <span class="phrase"><a name="spirit.advanced.customize.store_value.push_back.related_attribute_customization_points"></a></span><a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.related_attribute_customization_points">Related 369 Attribute Customization Points</a> 370 </h6> 371<p> 372 If this customization point is implemented, the following other customization 373 points might need to be implemented as well. 374 </p> 375<div class="informaltable"><table class="table"> 376<colgroup> 377<col> 378<col> 379</colgroup> 380<thead><tr> 381<th> 382 <p> 383 Name 384 </p> 385 </th> 386<th> 387 <p> 388 When to implement 389 </p> 390 </th> 391</tr></thead> 392<tbody> 393<tr> 394<td> 395 <p> 396 <a class="link" href="container_value.html" title="Determine the Type to be Stored in a Container (Qi)"><code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">container_value</span></code></a> 397 </p> 398 </td> 399<td> 400 <p> 401 Qi: <a class="link" href="../../../qi/reference/operator/list.html" title="List Parser (a % b)">List</a>, 402 <a class="link" href="../../../qi/reference/operator/kleene.html" title="Kleene Parser (*a)">Kleene</a>, 403 <a class="link" href="../../../qi/reference/operator/plus.html" title="Plus Parser (+a)">Plus</a>, 404 <a class="link" href="../../../qi/reference/directive/repeat.html" title="Repetition Parser Directive (repeat[])">Repeat</a>. 405 </p> 406 </td> 407</tr> 408<tr> 409<td> 410 <p> 411 <a class="link" href="../clear_value.html" title="Re-Initialize an Attribute Value before Parsing (Qi)"><code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">clear_value</span></code></a> 412 </p> 413 </td> 414<td> 415 <p> 416 Qi: <a class="link" href="../../../qi/reference/operator/list.html" title="List Parser (a % b)">List</a>, 417 <a class="link" href="../../../qi/reference/operator/kleene.html" title="Kleene Parser (*a)">Kleene</a>, 418 <a class="link" href="../../../qi/reference/operator/plus.html" title="Plus Parser (+a)">Plus</a>, 419 <a class="link" href="../../../qi/reference/directive/repeat.html" title="Repetition Parser Directive (repeat[])">Repeat</a>. 420 </p> 421 </td> 422</tr> 423</tbody> 424</table></div> 425<h6> 426<a name="spirit.advanced.customize.store_value.push_back.h9"></a> 427 <span class="phrase"><a name="spirit.advanced.customize.store_value.push_back.example"></a></span><a class="link" href="push_back.html#spirit.advanced.customize.store_value.push_back.example">Example</a> 428 </h6> 429<p> 430 Here is an example showing the default implementation of the <a class="link" href="container_value.html" title="Determine the Type to be Stored in a Container (Qi)"><code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">container_value</span></code></a> customization 431 point provided by the library: 432 </p> 433<p> 434</p> 435<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="comment">/* = void*/</span><span class="special">></span> 436<span class="keyword">struct</span> <span class="identifier">push_back_container</span> 437<span class="special">{</span> 438 <span class="keyword">static</span> <span class="keyword">bool</span> <span class="identifier">call</span><span class="special">(</span><span class="identifier">Container</span><span class="special">&</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">val</span><span class="special">)</span> 439 <span class="special">{</span> 440 <span class="identifier">c</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">val</span><span class="special">);</span> 441 <span class="keyword">return</span> <span class="keyword">true</span><span class="special">;</span> 442 <span class="special">}</span> 443<span class="special">};</span> 444</pre> 445<p> 446 </p> 447<p> 448 This template is instantiated by the library at the appropriate places 449 while using the supplied container and element types as the template 450 arguments. The member function <code class="computeroutput"><span class="identifier">call</span><span class="special">()</span></code> will be called whenever an element 451 has to be added to the supplied container 452 </p> 453<p> 454 The following example shows the predefined specialization for <code class="computeroutput"><span class="identifier">unused_type</span></code>: 455 </p> 456<p> 457</p> 458<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">></span> 459<span class="keyword">bool</span> <span class="identifier">push_back</span><span class="special">(</span><span class="identifier">Container</span><span class="special">&,</span> <span class="identifier">unused_type</span><span class="special">)</span> 460<span class="special">{</span> 461 <span class="keyword">return</span> <span class="keyword">true</span><span class="special">;</span> 462<span class="special">}</span> 463</pre> 464<p> 465 </p> 466<p> 467 which defines an empty member function <code class="computeroutput"><span class="identifier">call</span><span class="special">()</span></code>. 468 </p> 469</div> 470<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 471<td align="left"></td> 472<td align="right"><div class="copyright-footer">Copyright © 2001-2011 Joel de Guzman, Hartmut Kaiser<p> 473 Distributed under the Boost Software License, Version 1.0. (See accompanying 474 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>) 475 </p> 476</div></td> 477</tr></table> 478<hr> 479<div class="spirit-nav"> 480<a accesskey="p" href="container_value.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../store_value.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="../clear_value.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> 481</div> 482</body> 483</html> 484