Files
boost_fusion/doc/html/fusion/sequences/generation/functions/make_map.html
Joel de Guzman eb324cc029 Doc Tweaks
[SVN r35130]
2006-09-16 05:27:33 +00:00

160 lines
12 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>make_map</title>
<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="make_set.html" title="make_set">
<link rel="next" href="tiers.html" title="Tiers">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_set.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="tiers.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.sequences.generation.functions.make_map"></a><a href="make_map.html" title="make_map">make_map</a></h5></div></div></div>
<a name="fusion.sequences.generation.functions.make_map.description"></a><h6>
<a name="id525664"></a>
<a href="make_map.html#fusion.sequences.generation.functions.make_map.description">Description</a>
</h6>
<p>
Create a <a href="../../containers/map.html" title="map"><tt class="computeroutput"><span class="identifier">map</span></tt></a> from one or more key/data
pairs.
</p>
<a name="fusion.sequences.generation.functions.make_map.synopsis"></a><h6>
<a name="id525711"></a>
<a href="make_map.html#fusion.sequences.generation.functions.make_map.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">K0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">KN</span>
<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <a href="../metafunctions/make_map.html" title="make_map"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_map</span></tt></a><span class="special">&lt;</span><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K0</span><span class="special">,...</span> <span class="identifier">KN</span><span class="special">,</span> <span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="identifier">make_map</span><span class="special">(</span><span class="identifier">T0</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">x0</span><span class="special">,</span> <span class="identifier">T1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">x1</span><span class="special">...</span> <span class="identifier">TN</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">xN</span><span class="special">);</span>
</pre>
<p>
The variadic function accepts <tt class="computeroutput"><span class="number">0</span></tt>
to <tt class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></tt>
<sup>[<a name="id526084" href="#ftn.id526084">10</a>]</sup>
elements, where <tt class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></tt>
is a user definable predefined maximum that defaults to <tt class="computeroutput"><span class="number">10</span></tt>. You may define the preprocessor constant
<tt class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></tt>
before including any Fusion header to change the default. Example:
</p>
<pre class="programlisting">
<span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_VECTOR_SIZE</span> <span class="number">20</span>
</pre>
<a name="fusion.sequences.generation.functions.make_map.parameters"></a><h6>
<a name="id526180"></a>
<a href="make_map.html#fusion.sequences.generation.functions.make_map.parameters">Parameters</a>
</h6>
<div class="informaltable">
<h4>
<a name="id526203"></a>
</h4>
<table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
</tr></thead>
<tbody>
<tr>
<td><tt class="computeroutput"><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="identifier">KN</span></tt></td>
<td>The key types</td>
<td>Keys
associated with <tt class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span></tt>
</td>
</tr>
<tr>
<td><tt class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span></tt></td>
<td>Instances of
<tt class="computeroutput"><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span></tt>
</td>
<td>The arguments
to <tt class="computeroutput"><span class="identifier">make_map</span></tt>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.sequences.generation.functions.make_map.expression_semantics"></a><h6>
<a name="id526405"></a>
<a href="make_map.html#fusion.sequences.generation.functions.make_map.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">make_map</span><span class="special">&lt;</span><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="identifier">KN</span><span class="special">&gt;(</span><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: <a href="../metafunctions/make_map.html" title="make_map"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_map</span></tt></a><tt class="computeroutput"><span class="special">&lt;</span><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K0</span><span class="special">,...</span> <span class="identifier">KN</span><span class="special">,</span> <span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,...</span> <span class="identifier">TN</span><span class="special">&gt;::</span><span class="identifier">type</span></tt>
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Create a <a href="../../containers/map.html" title="map"><tt class="computeroutput"><span class="identifier">map</span></tt></a> from <tt class="computeroutput"><span class="identifier">K0</span><span class="special">,</span> <span class="identifier">K1</span><span class="special">,...</span> <span class="identifier">KN</span></tt>
keys and <tt class="computeroutput"><span class="identifier">x0</span><span class="special">,</span> <span class="identifier">x1</span><span class="special">,...</span> <span class="identifier">xN</span></tt> data.
</p>
<p>
<span class="bold"><b>Precondition</b></span>: There may be no duplicate
key types.
</p>
<a name="fusion.sequences.generation.functions.make_map.header"></a><h6>
<a name="id526736"></a>
<a href="make_map.html#fusion.sequences.generation.functions.make_map.header">Header</a>
</h6>
<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">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_map</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.sequences.generation.functions.make_map.example"></a><h6>
<a name="id526841"></a>
<a href="make_map.html#fusion.sequences.generation.functions.make_map.example">Example</a>
</h6>
<pre class="programlisting">
<span class="identifier">make_map</span><span class="special">(</span>
<a href="../../../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">make_pair</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="char">'X'</span><span class="special">)</span>
<span class="special">,</span> <a href="../../../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">make_pair</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="string">"Men"</span><span class="special">))</span>
</pre>
<a name="fusion.sequences.generation.functions.make_map.see_also"></a><h6>
<a name="id526972"></a>
<a href="make_map.html#fusion.sequences.generation.functions.make_map.see_also">See
also</a>
</h6>
<p>
<a href="../../../notes.html#fusion.notes.boost__ref"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ref</span></tt></a>,
<a href="../../../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></tt></a>
</p>
<div class="footnotes">
<br><hr width="100" align="left">
<div class="footnote"><p><sup>[<a name="ftn.id526084" href="#id526084">10</a>] </sup>
<tt class="computeroutput"><span class="identifier">map</span></tt> is implemented
in terms of the vector. That is why we reuse <tt class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></tt>
</p></div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright © 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="make_set.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="tiers.html"><img src="../../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>