mirror of
https://github.com/boostorg/bimap.git
synced 2026-01-19 04:02:10 +00:00
Merge [57804] - rebuilt documentation.
[SVN r57806]
This commit is contained in:
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Acknowledgements</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="prev" href="history/multiindex_and_bimap.html" title="MultiIndex and Bimap">
|
||||
</head>
|
||||
@@ -13,15 +13,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="history/multiindex_and_bimap.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Acknowledgements">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_bimap.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a>
|
||||
</h2></div></div></div>
|
||||
@@ -71,7 +71,7 @@
|
||||
a lot to Ion Gaztañaga for managing the review.
|
||||
</p>
|
||||
<a name="boost_bimap.acknowledgements.boost_bimap_team"></a><h4>
|
||||
<a name="id2755679"></a>
|
||||
<a name="id672804"></a>
|
||||
<a class="link" href="acknowledgements.html#boost_bimap.acknowledgements.boost_bimap_team">Boost.Bimap Team</a>
|
||||
</h4>
|
||||
<p>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Bimap and Boost</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="prev" href="the_tutorial/complete_instantiation_scheme.html" title="Complete instantiation scheme">
|
||||
<link rel="next" href="bimap_and_boost/boost_libraries_that_work_well_with_boost_bimap.html" title="Boost Libraries that work well with Boost.Bimap">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="the_tutorial/complete_instantiation_scheme.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="bimap_and_boost/boost_libraries_that_work_well_with_boost_bimap.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Bimap and Boost">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_bimap.bimap_and_boost"></a><a class="link" href="bimap_and_boost.html" title="Bimap and Boost">Bimap and Boost</a>
|
||||
</h2></div></div></div>
|
||||
@@ -45,7 +45,7 @@
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="bimap_and_boost/dependencies.html">Dependencies</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Bimap and MultiIndex">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.bimap_and_boost.bimap_and_multiindex"></a><a class="link" href="bimap_and_boost.html#boost_bimap.bimap_and_boost.bimap_and_multiindex" title="Bimap and MultiIndex">Bimap
|
||||
and MultiIndex</a>
|
||||
@@ -101,7 +101,7 @@
|
||||
in its own class every time they want to use it as a bidirectional map. Boost.Bimap
|
||||
takes advantage of the narrower scope to produce a better interface for bidirectional
|
||||
maps
|
||||
<sup>[<a name="id2664358" href="#ftn.id2664358" class="footnote">2</a>]</sup>
|
||||
<sup>[<a name="id583056" href="#ftn.id583056" class="footnote">2</a>]</sup>
|
||||
. There is no learning curve if you know how to use standard containers.
|
||||
Great effort was put into mapping the naming scheme of the STL to Boost.Bimap.
|
||||
The library is designed to match the common STL containers.
|
||||
@@ -151,7 +151,7 @@
|
||||
</div>
|
||||
<div class="footnotes">
|
||||
<br><hr width="100" align="left">
|
||||
<div class="footnote"><p><sup>[<a name="ftn.id2664358" href="#id2664358" class="para">2</a>] </sup>
|
||||
<div class="footnote"><p><sup>[<a name="ftn.id583056" href="#id583056" class="para">2</a>] </sup>
|
||||
In the same fashion, Boost.MRU will allow the creation of <span class="emphasis"><em>most
|
||||
recent updated</em></span> aware containers, hiding the complexity of
|
||||
Boost.MultiIndex.
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Boost Libraries that work well with Boost.Bimap</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../bimap_and_boost.html" title="Bimap and Boost">
|
||||
<link rel="prev" href="../bimap_and_boost.html" title="Bimap and Boost">
|
||||
<link rel="next" href="dependencies.html" title="Dependencies">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../bimap_and_boost.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bimap_and_boost.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="dependencies.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Boost Libraries that work well with Boost.Bimap">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap"></a><a class="link" href="boost_libraries_that_work_well_with_boost_bimap.html" title="Boost Libraries that work well with Boost.Bimap">Boost
|
||||
Libraries that work well with Boost.Bimap</a>
|
||||
@@ -39,7 +39,7 @@
|
||||
<dt><span class="section"><a href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_xpressive">Boost.Xpressive</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_property_map">Boost.Property_map</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Introduction">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.introduction"></a><a class="link" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.introduction" title="Introduction">Introduction</a>
|
||||
</h4></div></div></div>
|
||||
@@ -280,7 +280,7 @@
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Boost.Serialization">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_serialization"></a><a class="link" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_serialization" title="Boost.Serialization">Boost.Serialization</a>
|
||||
</h4></div></div></div>
|
||||
@@ -298,8 +298,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// Create a bimap and serialize it to a file
|
||||
</span><span class="special">{</span>
|
||||
@@ -310,9 +309,9 @@
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">ofstream</span> <span class="identifier">ofs</span><span class="special">(</span><span class="string">"data"</span><span class="special">);</span>
|
||||
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">archive</span><span class="special">::</span><span class="identifier">text_oarchive</span> <span class="identifier">oa</span><span class="special">(</span><span class="identifier">ofs</span><span class="special">);</span>
|
||||
|
||||
<span class="identifier">oa</span> <span class="special"><<</span> <span class="keyword">const_cast</span><span class="special"><</span><span class="keyword">const</span> <span class="identifier">bm_type</span><span class="special">&>(</span><span class="identifier">bm</span><span class="special">);</span> <span class="callout_bug"><a class="co" name="boost_bimap16co" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap16"><img src="../../images/callouts/1.png" alt="1" border="0"></a></span>
|
||||
<span class="identifier">oa</span> <span class="special"><<</span> <span class="keyword">const_cast</span><span class="special"><</span><span class="keyword">const</span> <span class="identifier">bm_type</span><span class="special">&>(</span><span class="identifier">bm</span><span class="special">);</span> <span class="callout_bug"><a class="co" name="boost_bimap16co" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap16"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a></span>
|
||||
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap17co" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap17"><img src="../../images/callouts/2.png" alt="2" border="0"></a></span><span class="keyword">const</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_iterator</span> <span class="identifier">left_iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="string">"two"</span><span class="special">);</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap17co" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap17"><img src="../../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a></span><span class="keyword">const</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_iterator</span> <span class="identifier">left_iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="string">"two"</span><span class="special">);</span>
|
||||
<span class="identifier">oa</span> <span class="special"><<</span> <span class="identifier">left_iter</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">const</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">right_iterator</span> <span class="identifier">right_iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="number">1</span><span class="special">);</span>
|
||||
@@ -349,14 +348,14 @@
|
||||
</p>
|
||||
<div class="calloutlist"><table border="0" summary="Callout list">
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap16"></a><a href="#boost_bimap16co"><img src="../../images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap16"></a><a href="#boost_bimap16co"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p>
|
||||
We must do a const cast because Boost.Serialization archives only save
|
||||
const objects. Read Boost.Serializartion docs for the rationale behind
|
||||
this decision </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap17"></a><a href="#boost_bimap17co"><img src="../../images/callouts/2.png" alt="2" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap17"></a><a href="#boost_bimap17co"><img src="../../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> We can only serialize iterators if the bimap was serialized
|
||||
first. Note that the const cast is not requiered here because we create
|
||||
our iterators as const. </p></td>
|
||||
@@ -376,7 +375,7 @@
|
||||
in build times, and may be necessary in those defective compilers that
|
||||
fail to correctly process Boost.Serialization headers.
|
||||
</p>
|
||||
<div class="warning"><table border="0" summary="Warning">
|
||||
<div class="warning" title="Warning"><table border="0" summary="Warning">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../doc/html/images/warning.png"></td>
|
||||
<th align="left">Warning</th>
|
||||
@@ -404,7 +403,7 @@
|
||||
must be done only after serializing its corresponding container.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Boost.Assign">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_assign"></a><a class="link" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_assign" title="Boost.Assign">Boost.Assign</a>
|
||||
</h4></div></div></div>
|
||||
@@ -434,12 +433,11 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">multiset_of</span><span class="special"><</span> <span class="keyword">int</span> <span class="special">>,</span> <span class="identifier">list_of</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"> <span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">multiset_of</span><span class="special"><</span> <span class="keyword">int</span> <span class="special">>,</span> <span class="identifier">list_of</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// We can use assign::list_of to initialize the container.
|
||||
</span>
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span> <span class="special">=</span> <span class="identifier">assign</span><span class="special">::</span><span class="identifier">list_of</span><span class="special"><</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">relation</span> <span class="special">></span> <span class="callout_bug"><a class="co" name="boost_bimap18co" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap18"><img src="../../images/callouts/1.png" alt="1" border="0"></a></span>
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span> <span class="special">=</span> <span class="identifier">assign</span><span class="special">::</span><span class="identifier">list_of</span><span class="special"><</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">relation</span> <span class="special">></span> <span class="callout_bug"><a class="co" name="boost_bimap18co" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap18"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a></span>
|
||||
<span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="string">"one"</span> <span class="special">)</span>
|
||||
<span class="special">(</span> <span class="number">2</span><span class="special">,</span> <span class="string">"two"</span> <span class="special">)</span>
|
||||
<span class="special">(</span> <span class="number">3</span><span class="special">,</span> <span class="string">"three"</span> <span class="special">);</span>
|
||||
@@ -476,7 +474,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<div class="calloutlist"><table border="0" summary="Callout list"><tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap18"></a><a href="#boost_bimap18co"><img src="../../images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap18"></a><a href="#boost_bimap18co"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p>
|
||||
Note that <code class="computeroutput"><span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">relation</span></code> has to be used instead of
|
||||
<code class="computeroutput"><span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">value_type</span></code>. Contrary to <code class="computeroutput"><span class="identifier">value_type</span></code>, <code class="computeroutput"><span class="identifier">relation</span></code>
|
||||
@@ -487,7 +485,7 @@
|
||||
<p>
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Boost.Hash">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_hash"></a><a class="link" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_hash" title="Boost.Hash">Boost.Hash</a>
|
||||
</h4></div></div></div>
|
||||
@@ -508,12 +506,12 @@
|
||||
results.
|
||||
</p>
|
||||
<p>
|
||||
Boost.Hash can be <a href="http://www.boost.org/regression-logs/cs-win32_metacomm/doc/html/hash/custom.html" target="_top">extended
|
||||
Boost.Hash can be <a href="http://www.boost.org/doc/html/hash/custom.html" target="_top">extended
|
||||
for custom data types</a>, enabling to use the default parameter of
|
||||
the unordered set types with any user types.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Boost.Lambda">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_lambda"></a><a class="link" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_lambda" title="Boost.Lambda">Boost.Lambda</a>
|
||||
</h4></div></div></div>
|
||||
@@ -539,8 +537,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">(</span><span class="string">"one"</span><span class="special">,</span><span class="number">1</span><span class="special">)</span> <span class="special">);</span>
|
||||
@@ -557,7 +554,7 @@
|
||||
<p>
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Boost.Range">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_range"></a><a class="link" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_range" title="Boost.Range">Boost.Range</a>
|
||||
</h4></div></div></div>
|
||||
@@ -585,8 +582,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">ForwardReadableRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">UnaryFunctor</span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">ForwardReadableRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">UnaryFunctor</span> <span class="special">></span>
|
||||
<span class="identifier">UnaryFunctor</span> <span class="identifier">for_each</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardReadableRange</span> <span class="special">&</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">UnaryFunctor</span> <span class="identifier">func</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span>
|
||||
@@ -630,8 +626,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">struct</span> <span class="identifier">pair_printer</span>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">pair_printer</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">pair_printer</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&</span> <span class="identifier">o</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">os</span><span class="special">(</span><span class="identifier">o</span><span class="special">)</span> <span class="special">{}</span>
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Pair</span> <span class="special">></span>
|
||||
@@ -688,7 +683,7 @@
|
||||
<a href="../../../../example/bimap_and_boost/range.cpp" target="_top">Go to source code</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Boost.Foreach">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_foreach"></a><a class="link" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_foreach" title="Boost.Foreach">Boost.Foreach</a>
|
||||
</h4></div></div></div>
|
||||
@@ -712,8 +707,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">list_of</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">list_of</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">(</span><span class="string">"1"</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">);</span>
|
||||
@@ -723,7 +717,7 @@
|
||||
|
||||
<span class="identifier">BOOST_FOREACH</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_reference</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span> <span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="special">++</span><span class="identifier">p</span><span class="special">.</span><span class="identifier">second</span><span class="special">;</span> <span class="callout_bug"><a class="co" name="boost_bimap19co" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap19"><img src="../../images/callouts/1.png" alt="1" border="0"></a></span>
|
||||
<span class="special">++</span><span class="identifier">p</span><span class="special">.</span><span class="identifier">second</span><span class="special">;</span> <span class="callout_bug"><a class="co" name="boost_bimap19co" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap19"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a></span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="identifier">BOOST_FOREACH</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">right_const_reference</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span> <span class="special">)</span>
|
||||
@@ -739,7 +733,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<div class="calloutlist"><table border="0" summary="Callout list"><tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap19"></a><a href="#boost_bimap19co"><img src="../../images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap19"></a><a href="#boost_bimap19co"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> We can modify the right element because we have use a mutable collection
|
||||
type in the right side. </p></td>
|
||||
</tr></table></div>
|
||||
@@ -755,8 +749,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">BOOST_FOREACH</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_reference</span> <span class="identifier">p</span><span class="special">,</span>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_FOREACH</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_reference</span> <span class="identifier">p</span><span class="special">,</span>
|
||||
<span class="special">(</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">range</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">"1"</span><span class="special">)</span> <span class="special"><=</span> <span class="identifier">_key</span><span class="special">,</span> <span class="identifier">_key</span> <span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">"3"</span><span class="special">)</span> <span class="special">)</span> <span class="special">))</span>
|
||||
<span class="special">{</span>
|
||||
<span class="special">++</span><span class="identifier">p</span><span class="special">.</span><span class="identifier">second</span><span class="special">;</span>
|
||||
@@ -776,21 +769,19 @@
|
||||
<a href="../../../../example/bimap_and_boost/foreach.cpp" target="_top">Go to source code</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Boost.Typeof">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_typeof"></a><a class="link" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_typeof" title="Boost.Typeof">Boost.Typeof</a>
|
||||
</h4></div></div></div>
|
||||
<p>
|
||||
Once C++0x is out we are going to be able to write code like:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">auto</span> <span class="identifier">iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">name</span><span class="special">>().</span><span class="identifier">find</span><span class="special">(</span><span class="string">"john"</span><span class="special">);</span>
|
||||
<pre class="programlisting"><span class="keyword">auto</span> <span class="identifier">iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">name</span><span class="special">>().</span><span class="identifier">find</span><span class="special">(</span><span class="string">"john"</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
instead of the more verbose
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">map_by</span><span class="special"><</span><span class="identifier">name</span><span class="special">>::</span><span class="identifier">iterator</span> <span class="identifier">iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">name</span><span class="special">>().</span><span class="identifier">find</span><span class="special">(</span><span class="string">"john"</span><span class="special">);</span>
|
||||
<pre class="programlisting"><span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">map_by</span><span class="special"><</span><span class="identifier">name</span><span class="special">>::</span><span class="identifier">iterator</span> <span class="identifier">iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">name</span><span class="special">>().</span><span class="identifier">find</span><span class="special">(</span><span class="string">"john"</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
Boost.Typeof defines a macro BOOST_AUTO that can be used as a library solution
|
||||
@@ -804,8 +795,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">tagged</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span><span class="identifier">name</span><span class="special">>,</span> <span class="identifier">tagged</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">number</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">tagged</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span><span class="identifier">name</span><span class="special">>,</span> <span class="identifier">tagged</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">number</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">(</span><span class="string">"one"</span> <span class="special">,</span><span class="number">1</span><span class="special">)</span> <span class="special">);</span>
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">(</span><span class="string">"two"</span> <span class="special">,</span><span class="number">2</span><span class="special">)</span> <span class="special">);</span>
|
||||
@@ -822,8 +812,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">for</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">map_by</span><span class="special"><</span><span class="identifier">name</span><span class="special">>::</span><span class="identifier">iterator</span> <span class="identifier">iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">name</span><span class="special">>().</span><span class="identifier">begin</span><span class="special">();</span>
|
||||
<pre class="programlisting"><span class="keyword">for</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">map_by</span><span class="special"><</span><span class="identifier">name</span><span class="special">>::</span><span class="identifier">iterator</span> <span class="identifier">iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">name</span><span class="special">>().</span><span class="identifier">begin</span><span class="special">();</span>
|
||||
<span class="identifier">iter</span><span class="special">!=</span><span class="identifier">bm</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">name</span><span class="special">>().</span><span class="identifier">end</span><span class="special">();</span> <span class="special">++</span><span class="identifier">iter</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">iter</span><span class="special">-></span><span class="identifier">first</span> <span class="special"><<</span> <span class="string">" --> "</span> <span class="special"><<</span> <span class="identifier">iter</span><span class="special">-></span><span class="identifier">second</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
@@ -844,8 +833,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">for</span><span class="special">(</span> <span class="identifier">BOOST_AUTO</span><span class="special">(</span><span class="identifier">iter</span><span class="special">,</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">name</span><span class="special">>().</span><span class="identifier">begin</span><span class="special">());</span> <span class="identifier">iter</span><span class="special">!=</span><span class="identifier">bm</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">name</span><span class="special">>().</span><span class="identifier">end</span><span class="special">();</span> <span class="special">++</span><span class="identifier">iter</span><span class="special">)</span>
|
||||
<pre class="programlisting"><span class="keyword">for</span><span class="special">(</span> <span class="identifier">BOOST_AUTO</span><span class="special">(</span><span class="identifier">iter</span><span class="special">,</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">name</span><span class="special">>().</span><span class="identifier">begin</span><span class="special">());</span> <span class="identifier">iter</span><span class="special">!=</span><span class="identifier">bm</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">name</span><span class="special">>().</span><span class="identifier">end</span><span class="special">();</span> <span class="special">++</span><span class="identifier">iter</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">iter</span><span class="special">-></span><span class="identifier">first</span> <span class="special"><<</span> <span class="string">" --> "</span> <span class="special"><<</span> <span class="identifier">iter</span><span class="special">-></span><span class="identifier">second</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
@@ -861,7 +849,7 @@
|
||||
<a href="../../../../example/bimap_and_boost/typeof.cpp" target="_top">Go to source code</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Boost.Xpressive">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_xpressive"></a><a class="link" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_xpressive" title="Boost.Xpressive">Boost.Xpressive</a>
|
||||
</h4></div></div></div>
|
||||
@@ -875,8 +863,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">rel_str</span><span class="special">(</span><span class="string">"one <--> 1 two <--> 2 three <--> 3"</span><span class="special">);</span>
|
||||
@@ -900,7 +887,7 @@
|
||||
<a href="../../../../example/bimap_and_boost/xpressive.cpp" target="_top">Go to source code</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Boost.Property_map">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_property_map"></a><a class="link" href="boost_libraries_that_work_well_with_boost_bimap.html#boost_bimap.bimap_and_boost.boost_libraries_that_work_well_with_boost_bimap.boost_property_map" title="Boost.Property_map">Boost.Property_map</a>
|
||||
</h4></div></div></div>
|
||||
@@ -928,8 +915,7 @@
|
||||
are read-write property maps. In order to use these, you need to include
|
||||
one of the following headers:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">/</span><span class="identifier">property_map</span><span class="special">/</span><span class="identifier">set_support</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">/</span><span class="identifier">property_map</span><span class="special">/</span><span class="identifier">set_support</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">/</span><span class="identifier">property_map</span><span class="special">/</span><span class="identifier">unordered_set_support</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
@@ -944,8 +930,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">AddressMap</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">AddressMap</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="identifier">foo</span><span class="special">(</span><span class="identifier">AddressMap</span> <span class="special">&</span> <span class="identifier">address_map</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">property_traits</span><span class="special"><</span><span class="identifier">AddressMap</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="identifier">value_type</span><span class="special">;</span>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Dependencies</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../bimap_and_boost.html" title="Bimap and Boost">
|
||||
<link rel="prev" href="boost_libraries_that_work_well_with_boost_bimap.html" title="Boost Libraries that work well with Boost.Bimap">
|
||||
<link rel="next" href="../reference.html" title="Reference">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost_libraries_that_work_well_with_boost_bimap.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bimap_and_boost.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Dependencies">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.bimap_and_boost.dependencies"></a><a class="link" href="dependencies.html" title="Dependencies">Dependencies</a>
|
||||
</h3></div></div></div>
|
||||
@@ -35,7 +35,7 @@
|
||||
is the heart of this library.
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="id2673350"></a><p class="title"><b>Table 1.4. Boost Libraries needed by Boost.Bimap</b></p>
|
||||
<a name="id591722"></a><p class="title"><b>Table 1.4. Boost Libraries needed by Boost.Bimap</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Boost Libraries needed by Boost.Bimap">
|
||||
<colgroup>
|
||||
<col>
|
||||
@@ -184,7 +184,7 @@
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><div class="table">
|
||||
<a name="id2673624"></a><p class="title"><b>Table 1.5. Optional Boost Libraries</b></p>
|
||||
<a name="id591995"></a><p class="title"><b>Table 1.5. Optional Boost Libraries</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Optional Boost Libraries">
|
||||
<colgroup>
|
||||
<col>
|
||||
@@ -354,7 +354,7 @@
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><div class="table">
|
||||
<a name="id2673910"></a><p class="title"><b>Table 1.6. Additional Boost Libraries needed to run
|
||||
<a name="id592279"></a><p class="title"><b>Table 1.6. Additional Boost Libraries needed to run
|
||||
the test-suite</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Additional Boost Libraries needed to run
|
||||
the test-suite">
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Compiler specifics</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="prev" href="reference/unconstrained_set_of_reference.html" title="unconstrained_set_of Reference">
|
||||
<link rel="next" href="performance.html" title="Performance">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="reference/unconstrained_set_of_reference.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="performance.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Compiler specifics">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_bimap.compiler_specifics"></a><a class="link" href="compiler_specifics.html" title="Compiler specifics">Compiler specifics</a>
|
||||
</h2></div></div></div>
|
||||
@@ -325,7 +325,7 @@
|
||||
</tbody>
|
||||
</table></div>
|
||||
<a name="boost_bimap.compiler_specifics.vs_7_1"></a><h3>
|
||||
<a name="id2732451"></a>
|
||||
<a name="id650190"></a>
|
||||
<a class="link" href="compiler_specifics.html#boost_bimap.compiler_specifics.vs_7_1">VS 7.1</a>
|
||||
</h3>
|
||||
<p>
|
||||
@@ -334,7 +334,7 @@
|
||||
in msdn is to split the .cpp in several files or upgrade your compiler.
|
||||
</p>
|
||||
<a name="boost_bimap.compiler_specifics.vs_8_0"></a><h3>
|
||||
<a name="id2732479"></a>
|
||||
<a name="id650218"></a>
|
||||
<a class="link" href="compiler_specifics.html#boost_bimap.compiler_specifics.vs_8_0">VS 8.0</a>
|
||||
</h3>
|
||||
<p>
|
||||
@@ -346,8 +346,7 @@
|
||||
In order to turn off the warnings add the followings defines at the begging
|
||||
of your .cpp files:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#define</span> <span class="identifier">_CRT_SECURE_NO_DEPRECATE</span>
|
||||
<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">_CRT_SECURE_NO_DEPRECATE</span>
|
||||
<span class="preprocessor">#define</span> <span class="identifier">_SCL_SECURE_NO_DEPRECATE</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Examples</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="prev" href="performance.html" title="Performance">
|
||||
<link rel="next" href="examples/simple_bimap.html" title="Simple Bimap">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="performance.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="examples/simple_bimap.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Examples">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_bimap.examples"></a><a class="link" href="examples.html" title="Examples">Examples</a>
|
||||
</h2></div></div></div>
|
||||
@@ -35,7 +35,7 @@
|
||||
<dt><span class="section"><a href="examples/multiindex_to_bimap_path___hashed_indices.html">MultiIndex
|
||||
to Bimap Path - Hashed indices</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Examples list">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.examples.examples_list"></a><a class="link" href="examples.html#boost_bimap.examples.examples_list" title="Examples list">Examples list</a>
|
||||
</h3></div></div></div>
|
||||
@@ -44,7 +44,7 @@
|
||||
find all the examples used in bimap documentation. Here is a list of them:
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="id2732600"></a><p class="title"><b>Table 1.7. Tutorial examples</b></p>
|
||||
<a name="id650327"></a><p class="title"><b>Table 1.7. Tutorial examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Tutorial examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
@@ -238,7 +238,7 @@
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><div class="table">
|
||||
<a name="id2733080"></a><p class="title"><b>Table 1.8. Bimap and Boost examples</b></p>
|
||||
<a name="id650801"></a><p class="title"><b>Table 1.8. Bimap and Boost examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Bimap and Boost examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
@@ -361,7 +361,7 @@
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><div class="table">
|
||||
<a name="id2733301"></a><p class="title"><b>Table 1.9. Boost.MultiIndex to Boost.Bimap path examples</b></p>
|
||||
<a name="id651020"></a><p class="title"><b>Table 1.9. Boost.MultiIndex to Boost.Bimap path examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Boost.MultiIndex to Boost.Bimap path examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Mighty Bimap</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../examples.html" title="Examples">
|
||||
<link rel="prev" href="simple_bimap.html" title="Simple Bimap">
|
||||
<link rel="next" href="multiindex_to_bimap_path___bidirectional_map.html" title="MultiIndex to Bimap Path - Bidirectional Map">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="simple_bimap.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="multiindex_to_bimap_path___bidirectional_map.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Mighty Bimap">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.examples.mighty_bimap"></a><a class="link" href="mighty_bimap.html" title="Mighty Bimap">Mighty Bimap</a>
|
||||
</h3></div></div></div>
|
||||
@@ -38,8 +38,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">string</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">/</span><span class="identifier">list_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>MultiIndex to Bimap Path - Bidirectional Map</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../examples.html" title="Examples">
|
||||
<link rel="prev" href="mighty_bimap.html" title="Mighty Bimap">
|
||||
<link rel="next" href="multiindex_to_bimap_path___hashed_indices.html" title="MultiIndex to Bimap Path - Hashed indices">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="mighty_bimap.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="multiindex_to_bimap_path___hashed_indices.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="MultiIndex to Bimap Path - Bidirectional Map">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.examples.multiindex_to_bimap_path___bidirectional_map"></a><a class="link" href="multiindex_to_bimap_path___bidirectional_map.html" title="MultiIndex to Bimap Path - Bidirectional Map">MultiIndex
|
||||
to Bimap Path - Bidirectional Map</a>
|
||||
@@ -42,7 +42,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<a name="boost_bimap.examples.multiindex_to_bimap_path___bidirectional_map.boost_multiindex"></a><h5>
|
||||
<a name="id2738275"></a>
|
||||
<a name="id655859"></a>
|
||||
<a class="link" href="multiindex_to_bimap_path___bidirectional_map.html#boost_bimap.examples.multiindex_to_bimap_path___bidirectional_map.boost_multiindex">Boost.MultiIndex</a>
|
||||
</h5>
|
||||
<p>
|
||||
@@ -54,8 +54,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">tokenizer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multi_index_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
@@ -151,7 +150,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<a name="boost_bimap.examples.multiindex_to_bimap_path___bidirectional_map.boost_bimap"></a><h5>
|
||||
<a name="id2740034"></a>
|
||||
<a name="id657572"></a>
|
||||
<a class="link" href="multiindex_to_bimap_path___bidirectional_map.html#boost_bimap.examples.multiindex_to_bimap_path___bidirectional_map.boost_bimap">Boost.Bimap</a>
|
||||
</h5>
|
||||
<p>
|
||||
@@ -163,8 +162,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">tokenizer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
|
||||
@@ -200,7 +198,7 @@
|
||||
<span class="comment">// the second part of the element is the equivalent in English
|
||||
</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">word</span> <span class="special"><<</span> <span class="string">" is said "</span>
|
||||
<span class="special"><<</span> <span class="identifier">it</span><span class="special">-></span><span class="identifier">second</span> <span class="callout_bug"><a class="co" name="boost_bimap23co" href="multiindex_to_bimap_path___bidirectional_map.html#boost_bimap23"><img src="../../images/callouts/1.png" alt="1" border="0"></a></span>
|
||||
<span class="special"><<</span> <span class="identifier">it</span><span class="special">-></span><span class="identifier">second</span> <span class="callout_bug"><a class="co" name="boost_bimap23co" href="multiindex_to_bimap_path___bidirectional_map.html#boost_bimap23"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a></span>
|
||||
<span class="special"><<</span> <span class="string">" in English"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="keyword">else</span>
|
||||
@@ -211,7 +209,7 @@
|
||||
<span class="keyword">if</span><span class="special">(</span> <span class="identifier">it2</span> <span class="special">!=</span> <span class="identifier">d</span><span class="special">.</span><span class="identifier">right</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span> <span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">word</span> <span class="special"><<</span> <span class="string">" is said "</span>
|
||||
<span class="special"><<</span> <span class="identifier">it2</span><span class="special">-></span><span class="identifier">second</span> <span class="callout_bug"><a class="co" name="boost_bimap24co" href="multiindex_to_bimap_path___bidirectional_map.html#boost_bimap24"><img src="../../images/callouts/2.png" alt="2" border="0"></a></span>
|
||||
<span class="special"><<</span> <span class="identifier">it2</span><span class="special">-></span><span class="identifier">second</span> <span class="callout_bug"><a class="co" name="boost_bimap24co" href="multiindex_to_bimap_path___bidirectional_map.html#boost_bimap24"><img src="../../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a></span>
|
||||
<span class="special"><<</span> <span class="string">" in Spanish"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="keyword">else</span>
|
||||
@@ -231,13 +229,13 @@
|
||||
</p>
|
||||
<div class="calloutlist"><table border="0" summary="Callout list">
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap23"></a><a href="#boost_bimap23co"><img src="../../images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap23"></a><a href="#boost_bimap23co"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> <code class="computeroutput"><span class="identifier">it</span></code> is an iterator of the
|
||||
left view, so <code class="computeroutput"><span class="identifier">it</span><span class="special">-></span><span class="identifier">second</span></code> refers to the right element of
|
||||
the relation, the word in english </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap24"></a><a href="#boost_bimap24co"><img src="../../images/callouts/2.png" alt="2" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap24"></a><a href="#boost_bimap24co"><img src="../../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> <code class="computeroutput"><span class="identifier">it2</span></code>
|
||||
is an iterator of the right view, so <code class="computeroutput"><span class="identifier">it2</span><span class="special">-></span><span class="identifier">second</span></code>
|
||||
refers to the left element of the relation, the word in spanish </p></td>
|
||||
@@ -259,8 +257,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>MultiIndex to Bimap Path - Hashed indices</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../examples.html" title="Examples">
|
||||
<link rel="prev" href="multiindex_to_bimap_path___bidirectional_map.html" title="MultiIndex to Bimap Path - Bidirectional Map">
|
||||
<link rel="next" href="../test_suite.html" title="Test suite">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="multiindex_to_bimap_path___bidirectional_map.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../test_suite.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="MultiIndex to Bimap Path - Hashed indices">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.examples.multiindex_to_bimap_path___hashed_indices"></a><a class="link" href="multiindex_to_bimap_path___hashed_indices.html" title="MultiIndex to Bimap Path - Hashed indices">MultiIndex
|
||||
to Bimap Path - Hashed indices</a>
|
||||
@@ -40,7 +40,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<a name="boost_bimap.examples.multiindex_to_bimap_path___hashed_indices.boost_multiindex"></a><h5>
|
||||
<a name="id2742762"></a>
|
||||
<a name="id660222"></a>
|
||||
<a class="link" href="multiindex_to_bimap_path___hashed_indices.html#boost_bimap.examples.multiindex_to_bimap_path___hashed_indices.boost_multiindex">Boost.MultiIndex</a>
|
||||
</h5>
|
||||
<p>
|
||||
@@ -52,8 +52,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iomanip</span><span class="special">></span>
|
||||
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">tokenizer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
@@ -141,7 +140,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<a name="boost_bimap.examples.multiindex_to_bimap_path___hashed_indices.boost_bimap"></a><h5>
|
||||
<a name="id2744509"></a>
|
||||
<a name="id661922"></a>
|
||||
<a class="link" href="multiindex_to_bimap_path___hashed_indices.html#boost_bimap.examples.multiindex_to_bimap_path___hashed_indices.boost_bimap">Boost.Bimap</a>
|
||||
</h5>
|
||||
<p>
|
||||
@@ -152,8 +151,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iomanip</span><span class="special">></span>
|
||||
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">tokenizer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Simple Bimap</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../examples.html" title="Examples">
|
||||
<link rel="prev" href="../examples.html" title="Examples">
|
||||
<link rel="next" href="mighty_bimap.html" title="Mighty Bimap">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../examples.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mighty_bimap.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Simple Bimap">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.examples.simple_bimap"></a><a class="link" href="simple_bimap.html" title="Simple Bimap">Simple Bimap</a>
|
||||
</h3></div></div></div>
|
||||
@@ -37,8 +37,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">string</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">string</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
@@ -110,8 +109,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
|
||||
@@ -142,12 +140,12 @@
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"Countries names ordered by their final position:"</span>
|
||||
<span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap20co" href="simple_bimap.html#boost_bimap20"><img src="../../images/callouts/1.png" alt="1" border="0"></a></span><span class="keyword">for</span><span class="special">(</span> <span class="identifier">results_bimap</span><span class="special">::</span><span class="identifier">map_by</span><span class="special"><</span><span class="identifier">place</span><span class="special">>::</span><span class="identifier">const_iterator</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap20co" href="simple_bimap.html#boost_bimap20"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a></span><span class="keyword">for</span><span class="special">(</span> <span class="identifier">results_bimap</span><span class="special">::</span><span class="identifier">map_by</span><span class="special"><</span><span class="identifier">place</span><span class="special">>::</span><span class="identifier">const_iterator</span>
|
||||
<span class="identifier">i</span> <span class="special">=</span> <span class="identifier">results</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">place</span><span class="special">>().</span><span class="identifier">begin</span><span class="special">(),</span>
|
||||
<span class="identifier">iend</span> <span class="special">=</span> <span class="identifier">results</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">place</span><span class="special">>().</span><span class="identifier">end</span><span class="special">()</span> <span class="special">;</span>
|
||||
<span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">iend</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span> <span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap21co" href="simple_bimap.html#boost_bimap21"><img src="../../images/callouts/2.png" alt="2" border="0"></a></span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">i</span><span class="special">-></span><span class="identifier">get</span><span class="special"><</span><span class="identifier">place</span> <span class="special">>()</span> <span class="special"><<</span> <span class="string">") "</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap21co" href="simple_bimap.html#boost_bimap21"><img src="../../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a></span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">i</span><span class="special">-></span><span class="identifier">get</span><span class="special"><</span><span class="identifier">place</span> <span class="special">>()</span> <span class="special"><<</span> <span class="string">") "</span>
|
||||
<span class="special"><<</span> <span class="identifier">i</span><span class="special">-></span><span class="identifier">get</span><span class="special"><</span><span class="identifier">country</span><span class="special">>()</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
@@ -156,7 +154,7 @@
|
||||
<span class="string">"their final position:"</span>
|
||||
<span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap22co" href="simple_bimap.html#boost_bimap22"><img src="../../images/callouts/3.png" alt="3" border="0"></a></span><span class="keyword">for</span><span class="special">(</span> <span class="identifier">results_bimap</span><span class="special">::</span><span class="identifier">map_by</span><span class="special"><</span><span class="identifier">country</span><span class="special">>::</span><span class="identifier">const_iterator</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap22co" href="simple_bimap.html#boost_bimap22"><img src="../../../../../../doc/src/images/callouts/3.png" alt="3" border="0"></a></span><span class="keyword">for</span><span class="special">(</span> <span class="identifier">results_bimap</span><span class="special">::</span><span class="identifier">map_by</span><span class="special"><</span><span class="identifier">country</span><span class="special">>::</span><span class="identifier">const_iterator</span>
|
||||
<span class="identifier">i</span> <span class="special">=</span> <span class="identifier">results</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">country</span><span class="special">>().</span><span class="identifier">begin</span><span class="special">(),</span>
|
||||
<span class="identifier">iend</span> <span class="special">=</span> <span class="identifier">results</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">country</span><span class="special">>().</span><span class="identifier">end</span><span class="special">()</span> <span class="special">;</span>
|
||||
<span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">iend</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span> <span class="special">)</span>
|
||||
@@ -177,18 +175,18 @@
|
||||
</p>
|
||||
<div class="calloutlist"><table border="0" summary="Callout list">
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap20"></a><a href="#boost_bimap20co"><img src="../../images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap20"></a><a href="#boost_bimap20co"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> <code class="computeroutput"><span class="identifier">results</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">place</span><span class="special">>()</span></code>
|
||||
is equivalent to <code class="computeroutput"><span class="identifier">results</span><span class="special">.</span><span class="identifier">right</span></code>
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap21"></a><a href="#boost_bimap21co"><img src="../../images/callouts/2.png" alt="2" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap21"></a><a href="#boost_bimap21co"><img src="../../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> <code class="computeroutput"><span class="identifier">get</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">></span></code>
|
||||
works for each view of the bimap </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap22"></a><a href="#boost_bimap22co"><img src="../../images/callouts/3.png" alt="3" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap22"></a><a href="#boost_bimap22co"><img src="../../../../../../doc/src/images/callouts/3.png" alt="3" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> <code class="computeroutput"><span class="identifier">results</span><span class="special">.</span><span class="identifier">by</span><span class="special"><</span><span class="identifier">country</span><span class="special">>()</span></code>
|
||||
is equivalent to <code class="computeroutput"><span class="identifier">results</span><span class="special">.</span><span class="identifier">left</span></code>
|
||||
</p></td>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Future work</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="prev" href="test_suite.html" title="Test suite">
|
||||
<link rel="next" href="release_notes.html" title="Release notes">
|
||||
@@ -14,20 +14,20 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="test_suite.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="release_notes.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Future work">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_bimap.future_work"></a><a class="link" href="future_work.html" title="Future work">Future work</a>
|
||||
</h2></div></div></div>
|
||||
<a name="boost_bimap.future_work.rearrange_function"></a><h4>
|
||||
<a name="id2747040"></a>
|
||||
<a name="id664672"></a>
|
||||
<a class="link" href="future_work.html#boost_bimap.future_work.rearrange_function">Rearrange Function</a>
|
||||
</h4>
|
||||
<p>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>History</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="prev" href="rationale/the_student_and_the_mentor.html" title="The student and the mentor">
|
||||
<link rel="next" href="history/multiindex_and_bimap.html" title="MultiIndex and Bimap">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="rationale/the_student_and_the_mentor.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="history/multiindex_and_bimap.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="History">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_bimap.history"></a><a class="link" href="history.html" title="History">History</a>
|
||||
</h2></div></div></div>
|
||||
@@ -32,7 +32,7 @@
|
||||
<dt><span class="section"><a href="history/multiindex_and_bimap.html">MultiIndex
|
||||
and Bimap</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="The long path from Code Project to Boost">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.history.the_long_path_from_code_project_to_boost"></a><a class="link" href="history.html#boost_bimap.history.the_long_path_from_code_project_to_boost" title="The long path from Code Project to Boost">The
|
||||
long path from Code Project to Boost</a>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>MultiIndex and Bimap</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../history.html" title="History">
|
||||
<link rel="prev" href="../history.html" title="History">
|
||||
<link rel="next" href="../acknowledgements.html" title="Acknowledgements">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../history.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../history.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../acknowledgements.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="MultiIndex and Bimap">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.history.multiindex_and_bimap"></a><a class="link" href="multiindex_and_bimap.html" title="MultiIndex and Bimap">MultiIndex
|
||||
and Bimap</a>
|
||||
@@ -95,8 +95,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="comment">// Data structure itself
|
||||
<pre class="programlisting"><span class="comment">// Data structure itself
|
||||
</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">ValueType</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">KeyType</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">Node</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">ValueType</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">KeyType</span><span class="special">></span>
|
||||
@@ -141,8 +140,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">ptree_gen</span><span class="special"><</span><span class="identifier">string</span><span class="special">,</span><span class="identifier">string</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">PT</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="identifier">ptree_gen</span><span class="special"><</span><span class="identifier">string</span><span class="special">,</span><span class="identifier">string</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">PT</span><span class="special">;</span>
|
||||
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">archive</span><span class="special">::</span><span class="identifier">text_iarchive</span> <span class="identifier">ia</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ifstream</span> <span class="identifier">ifs</span><span class="special">(</span><span class="string">"filename"</span><span class="special">)</span> <span class="special">);</span>
|
||||
<span class="identifier">ia</span> <span class="special">>></span> <span class="identifier">PT</span><span class="special">;</span>
|
||||
<span class="identifier">string</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">get</span><span class="special">(</span> <span class="string">"a.b.c.d"</span><span class="special">,</span> <span class="identifier">PT</span> <span class="special">);</span>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Introduction</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="prev" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="next" href="one_minute_tutorial.html" title="One minute tutorial">
|
||||
@@ -14,20 +14,20 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="one_minute_tutorial.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Introduction">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_bimap.introduction"></a><a class="link" href="introduction.html" title="Introduction">Introduction</a>
|
||||
</h2></div></div></div>
|
||||
<a name="boost_bimap.introduction.how_to_use_this_document"></a><h4>
|
||||
<a name="id2586460"></a>
|
||||
<a name="id554159"></a>
|
||||
<a class="link" href="introduction.html#boost_bimap.introduction.how_to_use_this_document">How to use
|
||||
this document</a>
|
||||
</h4>
|
||||
@@ -73,7 +73,7 @@
|
||||
</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="note"><table border="0" summary="Note">
|
||||
<div class="note" title="Note"><table border="0" summary="Note">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
|
||||
<th align="left">Note</th>
|
||||
@@ -88,7 +88,7 @@
|
||||
and enjoy!
|
||||
</p></td></tr>
|
||||
</table></div>
|
||||
<div class="important"><table border="0" summary="Important">
|
||||
<div class="important" title="Important"><table border="0" summary="Important">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../doc/html/images/important.png"></td>
|
||||
<th align="left">Important</th>
|
||||
@@ -102,72 +102,72 @@
|
||||
</p></td></tr>
|
||||
</table></div>
|
||||
<a name="boost_bimap.introduction.navigation"></a><h4>
|
||||
<a name="id2585321"></a>
|
||||
<a name="id554302"></a>
|
||||
<a class="link" href="introduction.html#boost_bimap.introduction.navigation">Navigation</a>
|
||||
</h4>
|
||||
<p>
|
||||
Used in combination with the configured browser key (usually Alt), the following
|
||||
keys act as handy shortcuts for common navigation tasks.
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<span class="bold"><strong>General</strong></span><div class="itemizedlist"><ul type="circle">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>General</strong></span><div class="itemizedlist"><ul class="itemizedlist" type="circle">
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>p</strong></span></code> - Previous page
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>n</strong></span></code> - Next page
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>h</strong></span></code> - home
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>u</strong></span></code> - Up
|
||||
</li>
|
||||
</ul></div>
|
||||
</li>
|
||||
<li>
|
||||
<span class="bold"><strong>Main TOC</strong></span><div class="itemizedlist"><ul type="circle">
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Main TOC</strong></span><div class="itemizedlist"><ul class="itemizedlist" type="circle">
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>i</strong></span></code> - Introduction
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>o</strong></span></code> - One minute tutorial
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>t</strong></span></code> - The tutorial
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>b</strong></span></code> - Bimap and Boost
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>r</strong></span></code> - Reference
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>c</strong></span></code> - Compiler specifics
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>v</strong></span></code> - Performance
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>e</strong></span></code> - Examples
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>s</strong></span></code> - Test Suite
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>f</strong></span></code> - Future work
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>m</strong></span></code> - Release notes
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>w</strong></span></code> - Rationale
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>y</strong></span></code> - History
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="literal"><span class="bold"><strong>a</strong></span></code> - Acknowledgements
|
||||
</li>
|
||||
</ul></div>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>One minute tutorial</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="prev" href="introduction.html" title="Introduction">
|
||||
<link rel="next" href="the_tutorial.html" title="The tutorial">
|
||||
@@ -14,20 +14,20 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="introduction.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="the_tutorial.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="One minute tutorial">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_bimap.one_minute_tutorial"></a><a class="link" href="one_minute_tutorial.html" title="One minute tutorial">One minute tutorial</a>
|
||||
</h2></div></div></div>
|
||||
<a name="boost_bimap.one_minute_tutorial.what_is_a_bimap_"></a><h4>
|
||||
<a name="id2585613"></a>
|
||||
<a name="id554565"></a>
|
||||
<a class="link" href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.what_is_a_bimap_">What is a
|
||||
bimap?</a>
|
||||
</h4>
|
||||
@@ -46,23 +46,22 @@
|
||||
<p>
|
||||
The following code creates an empty bimap container:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span><span class="identifier">X</span><span class="special">,</span><span class="identifier">Y</span><span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span><span class="identifier">X</span><span class="special">,</span><span class="identifier">Y</span><span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
Given this code, the following is the complete description of the resulting
|
||||
bimap.
|
||||
<sup>[<a name="id2585800" href="#ftn.id2585800" class="footnote">1</a>]</sup>
|
||||
<sup>[<a name="id554727" href="#ftn.id554727" class="footnote">1</a>]</sup>
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span></code> is signature-compatible with <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special"><</span><span class="identifier">X</span><span class="special">,</span><span class="identifier">Y</span><span class="special">></span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span></code> is signature-compatible with <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special"><</span><span class="identifier">Y</span><span class="special">,</span><span class="identifier">X</span><span class="special">></span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">bm</span></code> is signature-compatible
|
||||
with <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">set</span><span class="special"><</span> <span class="identifier">relation</span><span class="special"><</span><span class="identifier">X</span><span class="special">,</span><span class="identifier">Y</span><span class="special">></span> <span class="special">></span></code>
|
||||
</li>
|
||||
@@ -77,8 +76,7 @@
|
||||
<p>
|
||||
If we have any generic function that work with maps
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">MapType</span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">MapType</span> <span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="identifier">print_map</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">MapType</span> <span class="special">&</span> <span class="identifier">m</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">MapType</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="identifier">const_iterator</span><span class="special">;</span>
|
||||
@@ -92,8 +90,7 @@
|
||||
We can use the <span class="emphasis"><em>left map view</em></span> and the <span class="emphasis"><em>right map
|
||||
view</em></span> with it
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">></span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">></span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
<span class="special">...</span>
|
||||
<span class="identifier">print_map</span><span class="special">(</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span> <span class="special">);</span>
|
||||
<span class="identifier">print_map</span><span class="special">(</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span> <span class="special">);</span>
|
||||
@@ -109,7 +106,7 @@
|
||||
...
|
||||
</pre>
|
||||
<a name="boost_bimap.one_minute_tutorial.layout_of_the_relation_and_the_pairs_of_a_bimap"></a><h4>
|
||||
<a name="id2636318"></a>
|
||||
<a name="id555399"></a>
|
||||
<a class="link" href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.layout_of_the_relation_and_the_pairs_of_a_bimap">Layout
|
||||
of the relation and the pairs of a bimap</a>
|
||||
</h4>
|
||||
@@ -123,14 +120,13 @@
|
||||
<span class="inlinemediaobject"><img src="../images/bimap/relation.and.pair.png" alt="relation.and.pair"></span>
|
||||
</p>
|
||||
<a name="boost_bimap.one_minute_tutorial.step_by_step"></a><h4>
|
||||
<a name="id2636390"></a>
|
||||
<a name="id555466"></a>
|
||||
<a class="link" href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.step_by_step">Step by step</a>
|
||||
</h4>
|
||||
<p>
|
||||
A convinience header is avaiable in the boost directory:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
Lets define a bidirectional map between integers and strings:
|
||||
@@ -140,8 +136,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bimap</span><span class="special"><</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bimap</span><span class="special"><</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
@@ -149,7 +144,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<a name="boost_bimap.one_minute_tutorial.the_collection_of_relations_view"></a><h4>
|
||||
<a name="id2636546"></a>
|
||||
<a name="id555616"></a>
|
||||
<a class="link" href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.the_collection_of_relations_view">The
|
||||
collection of relations view</a>
|
||||
</h4>
|
||||
@@ -163,8 +158,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="string">"one"</span> <span class="special">)</span> <span class="special">);</span>
|
||||
<pre class="programlisting"><span class="identifier">bm</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="string">"one"</span> <span class="special">)</span> <span class="special">);</span>
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="string">"two"</span> <span class="special">)</span> <span class="special">);</span>
|
||||
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"There are "</span> <span class="special"><<</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special"><<</span> <span class="string">"relations"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
@@ -183,7 +177,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<a name="boost_bimap.one_minute_tutorial.the_left_map_view"></a><h4>
|
||||
<a name="id2637012"></a>
|
||||
<a name="id556065"></a>
|
||||
<a class="link" href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.the_left_map_view">The left
|
||||
map view</a>
|
||||
</h4>
|
||||
@@ -198,8 +192,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap0co" href="one_minute_tutorial.html#boost_bimap0"><img src="../images/callouts/1.png" alt="1" border="0"></a></span><span class="keyword">typedef</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_map</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="identifier">left_const_iterator</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="line_callout_bug"><a class="co" name="boost_bimap0co" href="one_minute_tutorial.html#boost_bimap0"><img src="../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a></span><span class="keyword">typedef</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_map</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="identifier">left_const_iterator</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">for</span><span class="special">(</span> <span class="identifier">left_const_iterator</span> <span class="identifier">left_iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">iend</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">end</span><span class="special">();</span>
|
||||
<span class="identifier">left_iter</span> <span class="special">!=</span> <span class="identifier">iend</span><span class="special">;</span> <span class="special">++</span><span class="identifier">left_iter</span> <span class="special">)</span>
|
||||
@@ -210,10 +203,10 @@
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">left_iter</span><span class="special">-></span><span class="identifier">first</span> <span class="special"><<</span> <span class="string">" --> "</span> <span class="special"><<</span> <span class="identifier">left_iter</span><span class="special">-></span><span class="identifier">second</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap1co" href="one_minute_tutorial.html#boost_bimap1"><img src="../images/callouts/2.png" alt="2" border="0"></a></span><span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_const_iterator</span> <span class="identifier">left_iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="number">2</span><span class="special">);</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap1co" href="one_minute_tutorial.html#boost_bimap1"><img src="../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a></span><span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_const_iterator</span> <span class="identifier">left_iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="number">2</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">left_iter</span><span class="special">-></span><span class="identifier">second</span> <span class="special">==</span> <span class="string">"two"</span> <span class="special">);</span>
|
||||
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap2co" href="one_minute_tutorial.html#boost_bimap2"><img src="../images/callouts/3.png" alt="3" border="0"></a></span><span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_value_type</span><span class="special">(</span> <span class="number">3</span><span class="special">,</span> <span class="string">"three"</span> <span class="special">)</span> <span class="special">);</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap2co" href="one_minute_tutorial.html#boost_bimap2"><img src="../../../../../doc/src/images/callouts/3.png" alt="3" border="0"></a></span><span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_value_type</span><span class="special">(</span> <span class="number">3</span><span class="special">,</span> <span class="string">"three"</span> <span class="special">)</span> <span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
@@ -223,18 +216,18 @@
|
||||
</p>
|
||||
<div class="calloutlist"><table border="0" summary="Callout list">
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap0"></a><a href="#boost_bimap0co"><img src="../images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap0"></a><a href="#boost_bimap0co"><img src="../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> The type of <code class="computeroutput"><span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span></code> is <code class="computeroutput"><span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_map</span></code>
|
||||
and the type of <code class="computeroutput"><span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span></code> is <code class="computeroutput"><span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">right_map</span></code>
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap1"></a><a href="#boost_bimap1co"><img src="../images/callouts/2.png" alt="2" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap1"></a><a href="#boost_bimap1co"><img src="../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> <code class="computeroutput"><span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_</span></code>-type- can be used as a shortcut for
|
||||
the more verbose <code class="computeroutput"><span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_map</span><span class="special">::</span></code>-type- </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap2"></a><a href="#boost_bimap2co"><img src="../images/callouts/3.png" alt="3" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap2"></a><a href="#boost_bimap2co"><img src="../../../../../doc/src/images/callouts/3.png" alt="3" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> This line produces the same effect
|
||||
of <code class="computeroutput"><span class="identifier">bm</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="string">"three"</span><span class="special">)</span> <span class="special">);</span></code> </p></td>
|
||||
</tr>
|
||||
@@ -244,7 +237,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<a name="boost_bimap.one_minute_tutorial.the_right_map_view"></a><h4>
|
||||
<a name="id2637765"></a>
|
||||
<a name="id556790"></a>
|
||||
<a class="link" href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.the_right_map_view">The right
|
||||
map view</a>
|
||||
</h4>
|
||||
@@ -259,8 +252,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">right_const_iterator</span> <span class="identifier">right_iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="string">"two"</span><span class="special">);</span>
|
||||
<pre class="programlisting"><span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">right_const_iterator</span> <span class="identifier">right_iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="string">"two"</span><span class="special">);</span>
|
||||
|
||||
<span class="comment">// right_iter->first : key : std::string
|
||||
</span><span class="comment">// right_iter->second : data : int
|
||||
@@ -271,7 +263,7 @@
|
||||
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span><span class="special">.</span><span class="identifier">erase</span><span class="special">(</span><span class="string">"two"</span><span class="special">);</span>
|
||||
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap3co" href="one_minute_tutorial.html#boost_bimap3"><img src="../images/callouts/1.png" alt="1" border="0"></a></span><span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">right_value_type</span><span class="special">(</span> <span class="string">"four"</span><span class="special">,</span> <span class="number">4</span> <span class="special">)</span> <span class="special">);</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap3co" href="one_minute_tutorial.html#boost_bimap3"><img src="../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a></span><span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">right_value_type</span><span class="special">(</span> <span class="string">"four"</span><span class="special">,</span> <span class="number">4</span> <span class="special">)</span> <span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
@@ -280,7 +272,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<div class="calloutlist"><table border="0" summary="Callout list"><tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap3"></a><a href="#boost_bimap3co"><img src="../images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap3"></a><a href="#boost_bimap3co"><img src="../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> This line produces the same effect of <code class="computeroutput"><span class="identifier">bm</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">(</span><span class="number">4</span><span class="special">,</span><span class="string">"four"</span><span class="special">)</span>
|
||||
<span class="special">);</span></code> </p></td>
|
||||
</tr></table></div>
|
||||
@@ -289,7 +281,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<a name="boost_bimap.one_minute_tutorial.differences_with_std__map"></a><h4>
|
||||
<a name="id2638220"></a>
|
||||
<a name="id557230"></a>
|
||||
<a class="link" href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.differences_with_std__map">Differences
|
||||
with std::map</a>
|
||||
</h4>
|
||||
@@ -303,16 +295,14 @@
|
||||
However dereferencing a <code class="computeroutput"><span class="identifier">bimap</span><span class="special"><</span><span class="identifier">X</span><span class="special">,</span><span class="identifier">Y</span><span class="special">>::</span><span class="identifier">left_iterator</span></code>
|
||||
returns a type that is <span class="emphasis"><em>signature-compatible</em></span> with a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="keyword">const</span> <span class="identifier">X</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Y</span><span class="special">></span></code>
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="number">1</span><span class="special">)-></span><span class="identifier">second</span> <span class="special">=</span> <span class="string">"1"</span><span class="special">;</span> <span class="comment">// Compilation error
|
||||
<pre class="programlisting"><span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="number">1</span><span class="special">)-></span><span class="identifier">second</span> <span class="special">=</span> <span class="string">"1"</span><span class="special">;</span> <span class="comment">// Compilation error
|
||||
</span></pre>
|
||||
<p>
|
||||
If you insert <code class="computeroutput"><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="string">"one"</span><span class="special">)</span></code> and <code class="computeroutput"><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="string">"1"</span><span class="special">)</span></code> in a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span></code> the second insertion will have no effect.
|
||||
In a <code class="computeroutput"><span class="identifier">bimap</span><span class="special"><</span><span class="identifier">X</span><span class="special">,</span><span class="identifier">Y</span><span class="special">></span></code> both keys have to remain unique. The insertion
|
||||
may fail in other situtions too. Lets see an example
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">clear</span><span class="special">();</span>
|
||||
<pre class="programlisting"><span class="identifier">bm</span><span class="special">.</span><span class="identifier">clear</span><span class="special">();</span>
|
||||
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="string">"one"</span> <span class="special">)</span> <span class="special">);</span>
|
||||
|
||||
@@ -322,7 +312,7 @@
|
||||
<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
|
||||
</pre>
|
||||
<a name="boost_bimap.one_minute_tutorial.a_simple_example"></a><h4>
|
||||
<a name="id2638910"></a>
|
||||
<a name="id557889"></a>
|
||||
<a class="link" href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.a_simple_example">A simple example</a>
|
||||
</h4>
|
||||
<p>
|
||||
@@ -337,8 +327,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">string</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">string</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
@@ -419,7 +408,7 @@
|
||||
<code class="literal">Spain ends in position 2</code>
|
||||
</pre>
|
||||
<a name="boost_bimap.one_minute_tutorial.continuing_the_journey"></a><h4>
|
||||
<a name="id2640226"></a>
|
||||
<a name="id559435"></a>
|
||||
<a class="link" href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.continuing_the_journey">Continuing
|
||||
the journey</a>
|
||||
</h4>
|
||||
@@ -428,7 +417,7 @@
|
||||
or read the <a class="link" href="reference.html" title="Reference">reference</a> section
|
||||
of this documentation.
|
||||
</p>
|
||||
<div class="caution"><table border="0" summary="Caution">
|
||||
<div class="caution" title="Caution"><table border="0" summary="Caution">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../doc/html/images/caution.png"></td>
|
||||
<th align="left">Caution</th>
|
||||
@@ -445,7 +434,7 @@
|
||||
</table></div>
|
||||
<div class="footnotes">
|
||||
<br><hr width="100" align="left">
|
||||
<div class="footnote"><p><sup>[<a name="ftn.id2585800" href="#id2585800" class="para">1</a>] </sup>
|
||||
<div class="footnote"><p><sup>[<a name="ftn.id554727" href="#id554727" class="para">1</a>] </sup>
|
||||
A type is <span class="emphasis"><em>signature-compatible</em></span> with other type if
|
||||
it has the same signature for functions and metadata. Preconditions, postconditions
|
||||
and the order of operations need not be the same.
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Performance</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="prev" href="compiler_specifics.html" title="Compiler specifics">
|
||||
<link rel="next" href="examples.html" title="Examples">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="compiler_specifics.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Performance">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_bimap.performance"></a><a class="link" href="performance.html" title="Performance">Performance</a>
|
||||
</h2></div></div></div>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Rationale</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="prev" href="release_notes.html" title="Release notes">
|
||||
<link rel="next" href="rationale/additional_features.html" title="Additional Features">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="release_notes.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rationale/additional_features.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Rationale">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_bimap.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
|
||||
</h2></div></div></div>
|
||||
@@ -46,7 +46,7 @@
|
||||
of email flowed between Joaquin and Matias. The juiciest parts of the conversations
|
||||
where extracted and rearranged here.
|
||||
</p>
|
||||
<div class="note"><table border="0" summary="Note">
|
||||
<div class="note" title="Note"><table border="0" summary="Note">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
|
||||
<th align="left">Note</th>
|
||||
@@ -57,7 +57,7 @@
|
||||
at developers.
|
||||
</p></td></tr>
|
||||
</table></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="General Design">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.rationale.general_design"></a><a class="link" href="rationale.html#boost_bimap.rationale.general_design" title="General Design">General Design</a>
|
||||
</h3></div></div></div>
|
||||
@@ -79,8 +79,7 @@
|
||||
The following interface is necessary for the <code class="literal">relation</code>
|
||||
class:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="special">-</span><span class="identifier">unspecified</span><span class="special">-</span> <span class="identifier">TA</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="special">-</span><span class="identifier">unspecified</span><span class="special">-</span> <span class="identifier">TB</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="special">-</span><span class="identifier">unspecified</span><span class="special">-</span> <span class="identifier">TA</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="special">-</span><span class="identifier">unspecified</span><span class="special">-</span> <span class="identifier">TB</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">TA</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">ai</span><span class="special">;</span> <span class="identifier">TB</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">bi</span><span class="special">;</span>
|
||||
|
||||
@@ -132,16 +131,16 @@
|
||||
is very simple, and it is based heavily on the concepts of the STL. Given
|
||||
a <code class="computeroutput"><span class="identifier">bimap</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">></span> <span class="identifier">bm</span></code>:
|
||||
</p>
|
||||
<div class="orderedlist"><ol type="1">
|
||||
<li>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span></code> is signature-compatible with a
|
||||
<code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">></span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span></code> is signature-compatible with a
|
||||
<code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special"><</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">A</span><span class="special">></span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">bm</span></code> is signature-compatible
|
||||
with a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">set</span><span class="special"><</span><span class="identifier">relation</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">></span> <span class="special">></span></code>
|
||||
</li>
|
||||
@@ -154,7 +153,7 @@
|
||||
as being simple and powerful. This is the general design.
|
||||
</p>
|
||||
<a name="boost_bimap.rationale.general_design.relation_implementation"></a><h5>
|
||||
<a name="id2748836"></a>
|
||||
<a name="id666407"></a>
|
||||
<a class="link" href="rationale.html#boost_bimap.rationale.general_design.relation_implementation">Relation
|
||||
Implementation</a>
|
||||
</h5>
|
||||
@@ -169,8 +168,7 @@
|
||||
has two references named first and second that bind to <code class="computeroutput"><span class="identifier">A</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">B</span></code>, or to <code class="computeroutput"><span class="identifier">B</span></code> and <code class="computeroutput"><span class="identifier">A</span></code>.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">relation</span><span class="special"><</span><span class="identifier">TA</span><span class="special">,</span><span class="identifier">TB</span><span class="special">></span> <span class="identifier">r</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="identifier">relation</span><span class="special"><</span><span class="identifier">TA</span><span class="special">,</span><span class="identifier">TB</span><span class="special">></span> <span class="identifier">r</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">const_reference_pair</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">></span> <span class="identifier">pba</span><span class="special">(</span><span class="identifier">r</span><span class="special">);</span>
|
||||
<span class="identifier">const_reference_pair</span><span class="special"><</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">A</span><span class="special">></span> <span class="identifier">pbb</span><span class="special">(</span><span class="identifier">r</span><span class="special">);</span>
|
||||
@@ -195,8 +193,7 @@
|
||||
clause that is not currently in the standard but is very natural. The additional
|
||||
clause imposes that if we have two classes:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">struct</span> <span class="identifier">class_a_b</span>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">class_a_b</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">Type1</span> <span class="identifier">name_a</span><span class="special">;</span>
|
||||
<span class="identifier">Type2</span> <span class="identifier">name_b</span><span class="special">;</span>
|
||||
@@ -245,7 +242,7 @@
|
||||
both cases, because we require that the same code be compilable by any standards-compliant
|
||||
compiler.
|
||||
</p>
|
||||
<div class="note"><table border="0" summary="Note">
|
||||
<div class="note" title="Note"><table border="0" summary="Note">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
|
||||
<th align="left">Note</th>
|
||||
@@ -257,7 +254,7 @@
|
||||
</p></td></tr>
|
||||
</table></div>
|
||||
<a name="boost_bimap.rationale.general_design.bimap_implementation"></a><h5>
|
||||
<a name="id2749426"></a>
|
||||
<a name="id666981"></a>
|
||||
<a class="link" href="rationale.html#boost_bimap.rationale.general_design.bimap_implementation">Bimap
|
||||
Implementation</a>
|
||||
</h5>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Additional Features</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../rationale.html" title="Rationale">
|
||||
<link rel="prev" href="../rationale.html" title="Rationale">
|
||||
<link rel="next" href="code.html" title="Code">
|
||||
@@ -14,21 +14,21 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../rationale.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rationale.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="code.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Additional Features">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.rationale.additional_features"></a><a class="link" href="additional_features.html" title="Additional Features">Additional
|
||||
Features</a>
|
||||
</h3></div></div></div>
|
||||
<a name="boost_bimap.rationale.additional_features.n_1__n_n__hashed_maps"></a><h5>
|
||||
<a name="id2749714"></a>
|
||||
<a name="id667261"></a>
|
||||
<a class="link" href="additional_features.html#boost_bimap.rationale.additional_features.n_1__n_n__hashed_maps">N-1,
|
||||
N-N, hashed maps</a>
|
||||
</h5>
|
||||
@@ -40,12 +40,12 @@
|
||||
collection type of each key directly. In order to implement this feature,
|
||||
we have to solve two problems:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
The index types of the <code class="computeroutput"><span class="identifier">multi_index_container</span></code>
|
||||
core now depends on the collection type used for each key.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
The map views now change their semantics according to the collection type
|
||||
chosen.
|
||||
</li>
|
||||
@@ -60,7 +60,7 @@
|
||||
<span class="inlinemediaobject"><img src="../../images/bimap/bimap.structures.png" alt="bimap.structures"></span>
|
||||
</p>
|
||||
<a name="boost_bimap.rationale.additional_features.collection_type_of_relation_constraints"></a><h5>
|
||||
<a name="id2749822"></a>
|
||||
<a name="id667368"></a>
|
||||
<a class="link" href="additional_features.html#boost_bimap.rationale.additional_features.collection_type_of_relation_constraints">Collection
|
||||
type of relation constraints</a>
|
||||
</h5>
|
||||
@@ -72,29 +72,29 @@
|
||||
bases the collection type of relations on the left collection type, but the
|
||||
user may choose between:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
left_based
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
right_based
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
set_of_relation<>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
multiset_of_relation<>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
unordered_set_of_relation<>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
unordered_multiset_of_relation<>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
list_of
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
vector_of
|
||||
</li>
|
||||
</ul></div>
|
||||
@@ -104,7 +104,7 @@
|
||||
uses further metaprogramming to define a new index if necessary.
|
||||
</p>
|
||||
<a name="boost_bimap.rationale.additional_features.tagged"></a><h5>
|
||||
<a name="id2749910"></a>
|
||||
<a name="id667455"></a>
|
||||
<a class="link" href="additional_features.html#boost_bimap.rationale.additional_features.tagged">Tagged</a>
|
||||
</h5>
|
||||
<p>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Code</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../rationale.html" title="Rationale">
|
||||
<link rel="prev" href="additional_features.html" title="Additional Features">
|
||||
<link rel="next" href="the_student_and_the_mentor.html" title="The student and the mentor">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="additional_features.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rationale.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="the_student_and_the_mentor.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Code">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.rationale.code"></a><a class="link" href="code.html" title="Code">Code</a>
|
||||
</h3></div></div></div>
|
||||
@@ -34,7 +34,7 @@
|
||||
Library Requirement and Guidelines</a> as closely as possible.
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="id2750025"></a><p class="title"><b>Table 1.10. folders in boost/bimap</b></p>
|
||||
<a name="id667570"></a><p class="title"><b>Table 1.10. folders in boost/bimap</b></p>
|
||||
<div class="table-contents"><table class="table" summary="folders in boost/bimap">
|
||||
<colgroup>
|
||||
<col>
|
||||
@@ -125,7 +125,7 @@
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><div class="table">
|
||||
<a name="id2750155"></a><p class="title"><b>Table 1.11. folders in each folder</b></p>
|
||||
<a name="id667700"></a><p class="title"><b>Table 1.11. folders in each folder</b></p>
|
||||
<div class="table-contents"><table class="table" summary="folders in each folder">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>The student and the mentor</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../rationale.html" title="Rationale">
|
||||
<link rel="prev" href="code.html" title="Code">
|
||||
<link rel="next" href="../history.html" title="History">
|
||||
@@ -14,20 +14,20 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="code.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rationale.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../history.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="The student and the mentor">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.rationale.the_student_and_the_mentor"></a><a class="link" href="the_student_and_the_mentor.html" title="The student and the mentor">The
|
||||
student and the mentor</a>
|
||||
</h3></div></div></div>
|
||||
<div class="tip"><table border="0" summary="Tip">
|
||||
<div class="tip" title="Tip"><table border="0" summary="Tip">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/html/images/tip.png"></td>
|
||||
<th align="left">Tip</th>
|
||||
@@ -751,8 +751,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">relation</span><span class="special"><</span><span class="identifier">TA</span><span class="special">,</span><span class="identifier">TB</span><span class="special">></span> <span class="identifier">r</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="identifier">relation</span><span class="special"><</span><span class="identifier">TA</span><span class="special">,</span><span class="identifier">TB</span><span class="special">></span> <span class="identifier">r</span><span class="special">;</span>
|
||||
<span class="identifier">const_reference_pair</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">></span> <span class="identifier">pba</span><span class="special">(</span><span class="identifier">r</span><span class="special">);</span>
|
||||
<span class="identifier">const_reference_pair</span><span class="special"><</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">A</span><span class="special">></span> <span class="identifier">pbb</span><span class="special">(</span><span class="identifier">r</span><span class="special">);</span>
|
||||
</pre>
|
||||
@@ -1292,8 +1291,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">map_view</span> <span class="identifier">x</span><span class="special">=...;</span>
|
||||
<pre class="programlisting"><span class="identifier">map_view</span> <span class="identifier">x</span><span class="special">=...;</span>
|
||||
<span class="identifier">map_view</span> <span class="identifier">y</span><span class="special">=...;</span>
|
||||
<span class="identifier">x</span><span class="special">=</span><span class="identifier">y</span><span class="special">;</span>
|
||||
</pre>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Reference</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="prev" href="bimap_and_boost/dependencies.html" title="Dependencies">
|
||||
<link rel="next" href="reference/bimap_reference.html" title="Bimap Reference">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="bimap_and_boost/dependencies.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference/bimap_reference.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Reference">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_bimap.reference"></a><a class="link" href="reference.html" title="Reference">Reference</a>
|
||||
</h2></div></div></div>
|
||||
@@ -89,7 +89,7 @@
|
||||
Views</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Headers">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.reference.headers"></a><a class="link" href="reference.html#boost_bimap.reference.headers" title="Headers">Headers</a>
|
||||
</h3></div></div></div>
|
||||
@@ -99,54 +99,54 @@
|
||||
<p>
|
||||
<span class="bold"><strong>Convenience</strong></span>
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc"><li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
"boost/bimap.hpp" <span class="emphasis"><em>(includes "boost/bimap/bimap.hpp"
|
||||
and imports the bimap class to boost namespace)</em></span>
|
||||
</li></ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Container</strong></span>
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc"><li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
"boost/bimap/bimap.hpp" <span class="emphasis"><em>(includes "boost/bimap/set_of.hpp"
|
||||
and "boost/bimap/unconstrained_set_of.hpp")</em></span>
|
||||
</li></ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Set Types</strong></span>
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
"boost/bimap/set_of.hpp"
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
"boost/bimap/multiset_of.hpp"
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
"boost/bimap/unordered_set_of.hpp"
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
"boost/bimap/unordered_multiset_of.hpp"
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
"boost/bimap/list_of.hpp"
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
"boost/bimap/vector_of.hpp"
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
"boost/bimap/unconstrained_set_of.hpp"
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
<span class="bold"><strong>Boost Integration</strong></span>
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
"boost/bimap/support/lambda.hpp"
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
"boost/bimap/property_map/set_support.hpp"
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
"boost/bimap/property_map/unordered_set_support.hpp"
|
||||
</li>
|
||||
</ul></div>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Bimap Reference</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../reference.html" title="Reference">
|
||||
<link rel="prev" href="../reference.html" title="Reference">
|
||||
<link rel="next" href="set_of_reference.html" title="set_of Reference">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="set_of_reference.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Bimap Reference">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.reference.bimap_reference"></a><a class="link" href="bimap_reference.html" title="Bimap Reference">Bimap Reference</a>
|
||||
</h3></div></div></div>
|
||||
@@ -53,7 +53,7 @@
|
||||
<dt><span class="section"><a href="bimap_reference.html#boost_bimap.reference.bimap_reference.class_template_bimap.serialization">Serialization</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="View concepts">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.reference.bimap_reference.view_concepts"></a><a class="link" href="bimap_reference.html#boost_bimap.reference.bimap_reference.view_concepts" title="View concepts">View
|
||||
concepts</a>
|
||||
@@ -79,25 +79,25 @@
|
||||
(such as uniqueness of elements). The global operations performed jointly
|
||||
in the any view can be reduced to six primitives:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
copying
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
insertion of an element
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
hinted insertion, where a pre-existing element is suggested in order
|
||||
to improve the efficiency of the operation
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
deletion of an element
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
replacement of the value of an element, which may trigger the rearrangement
|
||||
of this element in one or more views, or may forbid the replacement
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
modification of an element, and its subsequent rearrangement/banning
|
||||
by the various views
|
||||
</li>
|
||||
@@ -113,7 +113,7 @@
|
||||
</div>
|
||||
<a name="complexity_signature_explanation"></a><p>
|
||||
</p>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Complexity signature">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.reference.bimap_reference.complexity_signature"></a><a class="link" href="bimap_reference.html#boost_bimap.reference.bimap_reference.complexity_signature" title="Complexity signature">Complexity
|
||||
signature</a>
|
||||
@@ -129,28 +129,28 @@
|
||||
its complexity signature, consisting of the following associated functions
|
||||
on the number of elements:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">c</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span></code>:
|
||||
copying
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">i</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span></code>:
|
||||
insertion
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span></code>:
|
||||
hinted insertion
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">d</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span></code>:
|
||||
deletion
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">r</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span></code>:
|
||||
replacement
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">m</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span></code>:
|
||||
modifying
|
||||
</li>
|
||||
@@ -168,22 +168,22 @@
|
||||
to denote the above view, the complexity of insertion will now be <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">i_l</span><span class="special">(</span><span class="identifier">n</span><span class="special">)+</span><span class="identifier">i_r</span><span class="special">(</span><span class="identifier">n</span><span class="special">)+</span><span class="identifier">i_a</span><span class="special">(</span><span class="identifier">n</span><span class="special">))</span></code>.
|
||||
To abbreviate the notation, we adopt the following definitions:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><code class="computeroutput"><span class="identifier">C</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">c_l</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">c_r</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">[</span> <span class="special">+</span>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem"><code class="computeroutput"><span class="identifier">C</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">c_l</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">c_r</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">[</span> <span class="special">+</span>
|
||||
<span class="identifier">c_a</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">]</span></code></li>
|
||||
<li><code class="computeroutput"><span class="identifier">I</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">i_l</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">i_r</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">[</span> <span class="special">+</span>
|
||||
<li class="listitem"><code class="computeroutput"><span class="identifier">I</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">i_l</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">i_r</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">[</span> <span class="special">+</span>
|
||||
<span class="identifier">i_a</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">]</span></code></li>
|
||||
<li><code class="computeroutput"><span class="identifier">H</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">h_l</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">h_r</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">[</span> <span class="special">+</span>
|
||||
<li class="listitem"><code class="computeroutput"><span class="identifier">H</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">h_l</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">h_r</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">[</span> <span class="special">+</span>
|
||||
<span class="identifier">h_a</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">]</span></code></li>
|
||||
<li><code class="computeroutput"><span class="identifier">D</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">d_l</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">d_r</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">[</span> <span class="special">+</span>
|
||||
<li class="listitem"><code class="computeroutput"><span class="identifier">D</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">d_l</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">d_r</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">[</span> <span class="special">+</span>
|
||||
<span class="identifier">d_a</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">]</span></code></li>
|
||||
<li><code class="computeroutput"><span class="identifier">R</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">r_l</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">r_r</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">[</span> <span class="special">+</span>
|
||||
<li class="listitem"><code class="computeroutput"><span class="identifier">R</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">r_l</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">r_r</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">[</span> <span class="special">+</span>
|
||||
<span class="identifier">r_a</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">]</span></code></li>
|
||||
<li><code class="computeroutput"><span class="identifier">M</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">m_l</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">m_r</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">[</span> <span class="special">+</span>
|
||||
<li class="listitem"><code class="computeroutput"><span class="identifier">M</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">m_l</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">m_r</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">[</span> <span class="special">+</span>
|
||||
<span class="identifier">m_a</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">]</span></code></li>
|
||||
</ul></div>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Set type specification">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.reference.bimap_reference.set_type_specification"></a><a class="link" href="bimap_reference.html#boost_bimap.reference.bimap_reference.set_type_specification" title="Set type specification">Set
|
||||
type specification</a>
|
||||
@@ -377,7 +377,7 @@
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Tags">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.reference.bimap_reference.tags"></a><a class="link" href="bimap_reference.html#boost_bimap.reference.bimap_reference.tags" title="Tags">Tags</a>
|
||||
</h4></div></div></div>
|
||||
@@ -387,13 +387,12 @@
|
||||
uses the tagged idiom to let the user specify this tags.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title='Header "boost/bimap/bimap.hpp" synopsis'>
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.reference.bimap_reference.header__boost_bimap_bimap_hpp__synopsis"></a><a class="link" href="bimap_reference.html#boost_bimap.reference.bimap_reference.header__boost_bimap_bimap_hpp__synopsis" title='Header "boost/bimap/bimap.hpp" synopsis'>Header
|
||||
"boost/bimap/bimap.hpp" synopsis</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
|
||||
<span class="keyword">namespace</span> <span class="identifier">bimaps</span> <span class="special">{</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Type</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span> <span class="special">></span>
|
||||
@@ -485,7 +484,7 @@
|
||||
</span><span class="special">}</span> <span class="comment">// namespace boost
|
||||
</span></pre>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Class template bimap">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.reference.bimap_reference.class_template_bimap"></a><a class="link" href="bimap_reference.html#boost_bimap.reference.bimap_reference.class_template_bimap" title="Class template bimap">Class
|
||||
template bimap</a>
|
||||
@@ -507,7 +506,7 @@
|
||||
<p>
|
||||
This is the main component of Boost.Bimap.
|
||||
</p>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Complexity">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="boost_bimap.reference.bimap_reference.class_template_bimap.complexity"></a><a class="link" href="bimap_reference.html#boost_bimap.reference.bimap_reference.class_template_bimap.complexity" title="Complexity">Complexity</a>
|
||||
</h5></div></div></div>
|
||||
@@ -516,7 +515,7 @@
|
||||
we adopt the scheme outlined in the complexity signature section.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Instantiation types">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="boost_bimap.reference.bimap_reference.class_template_bimap.instantiation_types"></a><a class="link" href="bimap_reference.html#boost_bimap.reference.bimap_reference.class_template_bimap.instantiation_types" title="Instantiation types">Instantiation
|
||||
types</a>
|
||||
@@ -525,32 +524,31 @@
|
||||
<code class="computeroutput"><span class="identifier">bimap</span></code> is instantiated
|
||||
with the following types:
|
||||
</p>
|
||||
<div class="orderedlist"><ol type="1">
|
||||
<li>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem">
|
||||
LeftCollectionType and RightCollectionType are collection type specifications
|
||||
optionally tagged, or any type optionally tagged, in which case that
|
||||
side acts as a set.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
AdditionalParameter_{1/2} can be any ordered subset of:
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
CollectionTypeOfRelation specification
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
Allocator
|
||||
</li>
|
||||
</ul></div>
|
||||
</li>
|
||||
</ol></div>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Nested types">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="boost_bimap.reference.bimap_reference.class_template_bimap.nested_types"></a><a class="link" href="bimap_reference.html#boost_bimap.reference.bimap_reference.class_template_bimap.nested_types" title="Nested types">Nested
|
||||
types</a>
|
||||
</h5></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">left_tag</span><span class="special">,</span> <span class="identifier">right_tag</span>
|
||||
<pre class="programlisting"><span class="identifier">left_tag</span><span class="special">,</span> <span class="identifier">right_tag</span>
|
||||
</pre>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
@@ -563,8 +561,7 @@
|
||||
<p>
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">left_key_type</span><span class="special">,</span> <span class="identifier">right_key_type</span>
|
||||
<pre class="programlisting"><span class="identifier">left_key_type</span><span class="special">,</span> <span class="identifier">right_key_type</span>
|
||||
</pre>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
@@ -577,8 +574,7 @@
|
||||
<p>
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">left_data_type</span><span class="special">,</span> <span class="identifier">right_data_type</span>
|
||||
<pre class="programlisting"><span class="identifier">left_data_type</span><span class="special">,</span> <span class="identifier">right_data_type</span>
|
||||
</pre>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
@@ -591,8 +587,7 @@
|
||||
<p>
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">left_value_type</span><span class="special">,</span> <span class="identifier">right_value_type</span>
|
||||
<pre class="programlisting"><span class="identifier">left_value_type</span><span class="special">,</span> <span class="identifier">right_value_type</span>
|
||||
</pre>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
@@ -604,8 +599,7 @@
|
||||
<p>
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">left_iterator</span><span class="special">,</span> <span class="identifier">right_iterator</span>
|
||||
<pre class="programlisting"><span class="identifier">left_iterator</span><span class="special">,</span> <span class="identifier">right_iterator</span>
|
||||
<span class="identifier">left_const_iterator</span><span class="special">,</span> <span class="identifier">right_const_iterator</span>
|
||||
</pre>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
@@ -618,8 +612,7 @@
|
||||
<p>
|
||||
</p>
|
||||
</blockquote></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">left_map</span><span class="special">,</span> <span class="identifier">right_map</span>
|
||||
<pre class="programlisting"><span class="identifier">left_map</span><span class="special">,</span> <span class="identifier">right_map</span>
|
||||
</pre>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
@@ -632,97 +625,92 @@
|
||||
</p>
|
||||
</blockquote></div>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Constructors, copy and assignment">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="boost_bimap.reference.bimap_reference.class_template_bimap.constructors__copy_and_assignment"></a><a class="link" href="bimap_reference.html#boost_bimap.reference.bimap_reference.class_template_bimap.constructors__copy_and_assignment" title="Constructors, copy and assignment">Constructors,
|
||||
copy and assignment</a>
|
||||
</h5></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special">();</span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special">();</span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Effects:</strong></span> Constructs an empty <code class="computeroutput"><span class="identifier">bimap</span></code>.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Complexity:</strong></span> Constant.
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">InputIterator</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">InputIterator</span><span class="special">></span>
|
||||
<span class="identifier">bimap</span><span class="special">(</span><span class="identifier">InputIterator</span> <span class="identifier">first</span><span class="special">,</span><span class="identifier">InputIterator</span> <span class="identifier">last</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Requires: </strong></span><code class="computeroutput"><span class="identifier">InputIterator</span></code>
|
||||
is a model of Input Iterator over elements of type <code class="computeroutput"><span class="identifier">relation</span></code>
|
||||
or a type convertible to <code class="computeroutput"><span class="identifier">relation</span></code>.
|
||||
last is reachable from <code class="computeroutput"><span class="identifier">first</span></code>.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Effects:</strong></span> Constructs an empty <code class="computeroutput"><span class="identifier">bimap</span></code> and fills it with the elements
|
||||
in the range <code class="computeroutput"><span class="special">[</span><span class="identifier">first</span><span class="special">,</span><span class="identifier">last</span><span class="special">)</span></code>. Insertion of each element may or
|
||||
may not succeed depending on acceptance by the collection types of
|
||||
the <code class="computeroutput"><span class="identifier">bimap</span></code>.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<a class="link" href="bimap_reference.html#complexity_signature_explanation"><span class="bold"><strong>Complexity:</strong></span></a>
|
||||
O(m*H(m)), where m is the number of elements in <code class="computeroutput"><span class="special">[</span><span class="identifier">first</span><span class="special">,</span><span class="identifier">last</span><span class="special">)</span></code>.
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bimap</span> <span class="special">&</span> <span class="identifier">x</span><span class="special">);</span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">bimap</span> <span class="special">&</span> <span class="identifier">x</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Effects:</strong></span> Constructs a copy of x, copying
|
||||
its elements as well as its internal objects (key extractors, comparison
|
||||
objects, allocator.)
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Postconditions:</strong></span><code class="computeroutput"><span class="special">*</span><span class="keyword">this</span> <span class="special">==</span> <span class="identifier">x</span></code>. The order of the views of the
|
||||
<code class="computeroutput"><span class="identifier">bimap</span></code> is preserved
|
||||
as well.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Complexity:</strong></span> O(x.size()*log(x.size())
|
||||
+ C(x.size()))
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="special">~</span><span class="identifier">bimap</span><span class="special">()</span>
|
||||
<pre class="programlisting"><span class="special">~</span><span class="identifier">bimap</span><span class="special">()</span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Effects:</strong></span> Destroys the <code class="computeroutput"><span class="identifier">bimap</span></code> and all the elements contained.
|
||||
The order in which the elements are destroyed is not specified.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Complexity:</strong></span> O(n).
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="keyword">const</span> <span class="identifier">bimap</span><span class="special">&</span> <span class="identifier">x</span><span class="special">);</span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="keyword">const</span> <span class="identifier">bimap</span><span class="special">&</span> <span class="identifier">x</span><span class="special">);</span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Effects:</strong></span> Replaces the elements and
|
||||
internal objects of the <code class="computeroutput"><span class="identifier">bimap</span></code>
|
||||
with copies from x.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Postconditions:</strong></span><code class="computeroutput"><span class="special">*</span><span class="keyword">this</span><span class="special">==</span><span class="identifier">x</span></code>. The order on the views of the
|
||||
<code class="computeroutput"><span class="identifier">bimap</span></code> is preserved
|
||||
as well.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Returns: </strong></span><code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Complexity:</strong></span> O(n + x.size()*log(x.size())
|
||||
+ C(x.size())).
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Exception safety:</strong></span> Strong, provided
|
||||
the copy and assignment operations of the types of <code class="computeroutput"><span class="identifier">ctor_args_list</span></code>
|
||||
do not throw.
|
||||
@@ -731,7 +719,7 @@
|
||||
</div>
|
||||
<a name="reference_projection_operations"></a><p>
|
||||
</p>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Projection operations">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="boost_bimap.reference.bimap_reference.class_template_bimap.projection_operations"></a><a class="link" href="bimap_reference.html#boost_bimap.reference.bimap_reference.class_template_bimap.projection_operations" title="Projection operations">Projection
|
||||
operations</a>
|
||||
@@ -741,164 +729,158 @@
|
||||
v1 and v2, we say than an v1-iterator it1 and an v2-iterator it2 are
|
||||
equivalent if:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">it1</span> <span class="special">==</span>
|
||||
<span class="identifier">i1</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span></code>
|
||||
AND <code class="computeroutput"><span class="identifier">it2</span> <span class="special">==</span>
|
||||
<span class="identifier">i2</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span></code>,
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
OR <code class="computeroutput"><span class="identifier">it1</span></code> and <code class="computeroutput"><span class="identifier">it2</span></code> point to the same element.
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">IteratorType</span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">IteratorType</span> <span class="special">></span>
|
||||
<span class="identifier">left_iterator</span> <span class="identifier">project_left</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">iter</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">IteratorType</span> <span class="special">></span>
|
||||
<span class="identifier">left_const_iterator</span> <span class="identifier">project_left</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">iter</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Requires:</strong></span><code class="computeroutput"><span class="identifier">IteratorType</span></code>
|
||||
is a bimap view iterator. it is a valid iterator of some view of <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
|
||||
(i.e. does not refer to some other <code class="computeroutput"><span class="identifier">bimap</span></code>.)
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Effects:</strong></span> Returns a left map view iterator
|
||||
equivalent to <code class="computeroutput"><span class="identifier">it</span></code>.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Complexity:</strong></span> Constant.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Exception safety:</strong></span> nothrow.
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">IteratorType</span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">IteratorType</span> <span class="special">></span>
|
||||
<span class="identifier">right_iterator</span> <span class="identifier">project_right</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">iter</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">IteratorType</span> <span class="special">></span>
|
||||
<span class="identifier">right_const_iterator</span> <span class="identifier">project_right</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">iter</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Requires:</strong></span><code class="computeroutput"><span class="identifier">IteratorType</span></code>
|
||||
is a bimap view iterator. it is a valid iterator of some view of <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
|
||||
(i.e. does not refer to some other <code class="computeroutput"><span class="identifier">bimap</span></code>.)
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Effects:</strong></span> Returns a right map view
|
||||
iterator equivalent to <code class="computeroutput"><span class="identifier">it</span></code>.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Complexity:</strong></span> Constant.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Exception safety:</strong></span> nothrow.
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">IteratorType</span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">IteratorType</span> <span class="special">></span>
|
||||
<span class="identifier">iterator</span> <span class="identifier">project_up</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">iter</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">IteratorType</span> <span class="special">></span>
|
||||
<span class="identifier">const_iterator</span> <span class="identifier">project_up</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">iter</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Requires:</strong></span><code class="computeroutput"><span class="identifier">IteratorType</span></code>
|
||||
is a bimap view iterator. it is a valid iterator of some view of <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
|
||||
(i.e. does not refer to some other <code class="computeroutput"><span class="identifier">bimap</span></code>.)
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Effects:</strong></span> Returns a collection of relations
|
||||
view iterator equivalent to <code class="computeroutput"><span class="identifier">it</span></code>.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Complexity:</strong></span> Constant.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Exception safety:</strong></span> nothrow.
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
<a name="reference_support_for_used_defined_names"></a><p>
|
||||
</p>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Support for user defined names">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="boost_bimap.reference.bimap_reference.class_template_bimap.support_for_user_defined_names"></a><a class="link" href="bimap_reference.html#boost_bimap.reference.bimap_reference.class_template_bimap.support_for_user_defined_names" title="Support for user defined names">Support
|
||||
for user defined names</a>
|
||||
</h5></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Tag</span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Tag</span> <span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">map_by</span><span class="special">;</span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">map_by</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span></code> yields the type of the map view
|
||||
tagged with <code class="computeroutput"><span class="identifier">Tag</span></code>. <code class="computeroutput"><span class="identifier">map_by</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span></code><span class="emphasis"><em>-type
|
||||
name-</em></span> is the same as <code class="computeroutput"><span class="identifier">map_by</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span><span class="special">::</span></code><span class="emphasis"><em>-type name-</em></span>.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Requires: </strong></span><code class="computeroutput"><span class="identifier">Tag</span></code>
|
||||
is a valid user defined name of the bimap.
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Tag</span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Tag</span> <span class="special">></span>
|
||||
<span class="identifier">map_by</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">by</span><span class="special">();</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Tag</span> <span class="special">></span>
|
||||
<span class="keyword">const</span> <span class="identifier">map_by</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span> <span class="special">&</span> <span class="identifier">by</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Requires: </strong></span><code class="computeroutput"><span class="identifier">Tag</span></code>
|
||||
is a valid user defined name of the bimap.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Effects:</strong></span> Returns a reference to the
|
||||
map view tagged with <code class="computeroutput"><span class="identifier">Tag</span></code>
|
||||
held by <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Complexity:</strong></span> Constant.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Exception safety:</strong></span> nothrow.
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">IteratorType</span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">IteratorType</span> <span class="special">></span>
|
||||
<span class="identifier">map_by</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">iterator</span> <span class="identifier">project</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">iter</span><span class="special">);</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">IteratorType</span> <span class="special">></span>
|
||||
<span class="identifier">map_by</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">const_iterator</span> <span class="identifier">project</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">iter</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Requires: </strong></span><code class="computeroutput"><span class="identifier">Tag</span></code>
|
||||
is a valid user defined name of the bimap. <code class="computeroutput"><span class="identifier">IteratorType</span></code>
|
||||
is a bimap view iterator. it is a valid iterator of some view of <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
|
||||
(i.e. does not refer to some other <code class="computeroutput"><span class="identifier">bimap</span></code>.)
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Effects:</strong></span> Returns a reference to the
|
||||
map view tagged with <code class="computeroutput"><span class="identifier">Tag</span></code>
|
||||
held by <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Complexity:</strong></span> Constant.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Exception safety:</strong></span> nothrow.
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Serialization">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="boost_bimap.reference.bimap_reference.class_template_bimap.serialization"></a><a class="link" href="bimap_reference.html#boost_bimap.reference.bimap_reference.class_template_bimap.serialization" title="Serialization">Serialization</a>
|
||||
</h5></div></div></div>
|
||||
@@ -925,7 +907,7 @@
|
||||
is <span class="emphasis"><em>serialization-compatible</em></span> with <code class="computeroutput"><span class="identifier">p</span></code>
|
||||
if
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc"><li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">p</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">q</span><span class="special">(</span><span class="identifier">x</span></code>'<code class="computeroutput"><span class="special">,</span><span class="identifier">y</span></code>'<code class="computeroutput"><span class="special">)</span></code>
|
||||
</li></ul></div>
|
||||
<p>
|
||||
@@ -940,12 +922,12 @@
|
||||
to an output archive (XML archive) ar.
|
||||
</p>
|
||||
</div>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Requires:</strong></span> Value is serializable (XML-serializable).
|
||||
Additionally, each of the views of b can impose other requirements.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Exception safety:</strong></span> Strong with respect
|
||||
to <code class="computeroutput"><span class="identifier">b</span></code>. If an exception
|
||||
is thrown, ar may be left in an inconsistent state.
|
||||
@@ -958,13 +940,13 @@
|
||||
archive) ar.
|
||||
</p>
|
||||
</div>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Requires:</strong></span> Value is serializable (XML-serializable).
|
||||
Additionally, each of the views of <code class="computeroutput"><span class="identifier">b</span></code>'
|
||||
can impose other requirements.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Exception safety:</strong></span> Basic. If an exception
|
||||
is thrown, ar may be left in an inconsistent state.
|
||||
</li>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>unconstrained_set_of Reference</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../reference.html" title="Reference">
|
||||
<link rel="prev" href="vector_of_reference.html" title="vector_of Reference">
|
||||
<link rel="next" href="../compiler_specifics.html" title="Compiler specifics">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="vector_of_reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../compiler_specifics.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="unconstrained_set_of Reference">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.reference.unconstrained_set_of_reference"></a><a class="link" href="unconstrained_set_of_reference.html" title="unconstrained_set_of Reference">unconstrained_set_of
|
||||
Reference</a>
|
||||
@@ -38,13 +38,12 @@
|
||||
<dt><span class="section"><a href="unconstrained_set_of_reference.html#boost_bimap.reference.unconstrained_set_of_reference.unconstrained_set_of_views.serialization">Serialization</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title='Header "boost/bimap/unconstrained_set_of.hpp" synopsis'>
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.reference.unconstrained_set_of_reference.header__boost_bimap_unconstrained_set_of_hpp__synopsis"></a><a class="link" href="unconstrained_set_of_reference.html#boost_bimap.reference.unconstrained_set_of_reference.header__boost_bimap_unconstrained_set_of_hpp__synopsis" title='Header "boost/bimap/unconstrained_set_of.hpp" synopsis'>Header
|
||||
"boost/bimap/unconstrained_set_of.hpp" synopsis</a>
|
||||
</h4></div></div></div>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
|
||||
<span class="keyword">namespace</span> <span class="identifier">bimaps</span> <span class="special">{</span>
|
||||
|
||||
|
||||
@@ -58,7 +57,7 @@
|
||||
</span><span class="special">}</span> <span class="comment">// namespace boost
|
||||
</span></pre>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="unconstrained_set_of Views">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.reference.unconstrained_set_of_reference.unconstrained_set_of_views"></a><a class="link" href="unconstrained_set_of_reference.html#boost_bimap.reference.unconstrained_set_of_reference.unconstrained_set_of_views" title="unconstrained_set_of Views">unconstrained_set_of
|
||||
Views</a>
|
||||
@@ -73,8 +72,7 @@
|
||||
of these kind of view boost the bimap performance but the view can not
|
||||
be accessed. An unconstrained view is an empty class.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
|
||||
<span class="keyword">namespace</span> <span class="identifier">bimaps</span> <span class="special">{</span>
|
||||
<span class="keyword">namespace</span> <span class="identifier">views</span> <span class="special">{</span>
|
||||
|
||||
@@ -94,15 +92,13 @@
|
||||
<p>
|
||||
In the set view:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">signature</span><span class="special">-</span><span class="identifier">compatible</span> <span class="identifier">with</span> <span class="identifier">relation</span><span class="special"><</span> <span class="identifier">Left</span><span class="special">,</span> <span class="special">...</span> <span class="special">></span> <span class="identifier">key_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">signature</span><span class="special">-</span><span class="identifier">compatible</span> <span class="identifier">with</span> <span class="identifier">relation</span><span class="special"><</span> <span class="identifier">Left</span><span class="special">,</span> <span class="special">...</span> <span class="special">></span> <span class="identifier">key_type</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">signature</span><span class="special">-</span><span class="identifier">compatible</span> <span class="identifier">with</span> <span class="identifier">relation</span><span class="special"><</span> <span class="identifier">Left</span><span class="special">,</span> <span class="special">...</span> <span class="special">></span> <span class="identifier">value_type</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
In the left map view:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">Left</span> <span class="identifier">key_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Left</span> <span class="identifier">key_type</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="special">...</span> <span class="identifier">data_type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">typedef</span> <span class="identifier">signature</span><span class="special">-</span><span class="identifier">compatible</span> <span class="identifier">with</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">Left</span><span class="special">,</span> <span class="special">...</span> <span class="special">></span> <span class="identifier">value_type</span><span class="special">;</span>
|
||||
@@ -110,15 +106,14 @@
|
||||
<p>
|
||||
In the right map view:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="special">...</span> <span class="identifier">key_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="special">...</span> <span class="identifier">key_type</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">Left</span> <span class="identifier">data_type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">typedef</span> <span class="identifier">signature</span><span class="special">-</span><span class="identifier">compatible</span> <span class="identifier">with</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="special">...</span> <span class="special">,</span> <span class="identifier">Left</span> <span class="special">></span> <span class="identifier">value_type</span><span class="special">;</span>
|
||||
</pre>
|
||||
<a name="unconstrained_set_of_complexity_signature"></a><p>
|
||||
</p>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Complexity signature">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="boost_bimap.reference.unconstrained_set_of_reference.unconstrained_set_of_views.complexity_signature"></a><a class="link" href="unconstrained_set_of_reference.html#boost_bimap.reference.unconstrained_set_of_reference.unconstrained_set_of_views.complexity_signature" title="Complexity signature">Complexity
|
||||
signature</a>
|
||||
@@ -129,28 +124,28 @@
|
||||
the user, but the formulas to find the order of an operation for a bimap
|
||||
hold with the following definitions. The complexity signature of a <code class="computeroutput"><span class="identifier">unconstrained_set_of</span></code> view is:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
copying: <code class="computeroutput"><span class="identifier">c</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
insertion: <code class="computeroutput"><span class="identifier">i</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
hinted insertion: <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
deletion: <code class="computeroutput"><span class="identifier">d</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
replacement: <code class="computeroutput"><span class="identifier">r</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
modifying: <code class="computeroutput"><span class="identifier">m</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span></code>
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Serialization">
|
||||
<div class="titlepage"><div><div><h5 class="title">
|
||||
<a name="boost_bimap.reference.unconstrained_set_of_reference.unconstrained_set_of_views.serialization"></a><a class="link" href="unconstrained_set_of_reference.html#boost_bimap.reference.unconstrained_set_of_reference.unconstrained_set_of_views.serialization" title="Serialization">Serialization</a>
|
||||
</h5></div></div></div>
|
||||
@@ -169,7 +164,7 @@
|
||||
ar.
|
||||
</p>
|
||||
</div>
|
||||
<div class="itemizedlist"><ul type="disc"><li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
<span class="bold"><strong>Requires:</strong></span> No additional requirements
|
||||
to those imposed by the container.
|
||||
</li></ul></div>
|
||||
@@ -180,7 +175,7 @@
|
||||
archive) ar.
|
||||
</p>
|
||||
</div>
|
||||
<div class="itemizedlist"><ul type="disc"><li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
|
||||
<span class="bold"><strong>Requires:</strong></span> No additional requirements
|
||||
to those imposed by the container.
|
||||
</li></ul></div>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Release notes</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="prev" href="future_work.html" title="Future work">
|
||||
<link rel="next" href="rationale.html" title="Rationale">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="future_work.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Release notes">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_bimap.release_notes"></a><a class="link" href="release_notes.html" title="Release notes">Release notes</a>
|
||||
</h2></div></div></div>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Test suite</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="prev" href="examples/multiindex_to_bimap_path___hashed_indices.html" title="MultiIndex to Bimap Path - Hashed indices">
|
||||
<link rel="next" href="future_work.html" title="Future work">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="examples/multiindex_to_bimap_path___hashed_indices.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="future_work.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Test suite">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_bimap.test_suite"></a><a class="link" href="test_suite.html" title="Test suite">Test suite</a>
|
||||
</h2></div></div></div>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>The tutorial</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="prev" href="one_minute_tutorial.html" title="One minute tutorial">
|
||||
<link rel="next" href="the_tutorial/discovering_the_bimap_framework.html" title="Discovering the bimap framework">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="one_minute_tutorial.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="the_tutorial/discovering_the_bimap_framework.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="The tutorial">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_bimap.the_tutorial"></a><a class="link" href="the_tutorial.html" title="The tutorial">The tutorial</a>
|
||||
</h2></div></div></div>
|
||||
@@ -84,19 +84,19 @@
|
||||
<dt><span class="section"><a href="the_tutorial/complete_instantiation_scheme.html">Complete
|
||||
instantiation scheme</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Roadmap">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.the_tutorial.roadmap"></a><a class="link" href="the_tutorial.html#boost_bimap.the_tutorial.roadmap" title="Roadmap">Roadmap</a>
|
||||
</h3></div></div></div>
|
||||
<div class="orderedlist"><ol type="1">
|
||||
<li>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem">
|
||||
Boost.Bimap is intuitive because it is based on the standard template library.
|
||||
New concepts are however presented to extend the standard maps to bidirectional
|
||||
maps. The first step is to gain a firm grasp of the bimap framework. The
|
||||
first section (<a class="link" href="the_tutorial/discovering_the_bimap_framework.html" title="Discovering the bimap framework">Discovering
|
||||
the bimap framework</a>) aims to explain this.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
Boost.Bimap offers much more than just a one-to-one ordered unique bidirectional
|
||||
map. It is possible to control the collection type of each side of the
|
||||
relationship that the bimap represents, giving one-to-many containers,
|
||||
@@ -105,38 +105,38 @@
|
||||
collection types</a>) explains how to instantiate a bimap with different
|
||||
collection constraints.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
The section (<a class="link" href="the_tutorial/the_collection_of_relations_type.html" title="The collection of relations type">The
|
||||
"collection of relations" type</a>) explains how to create
|
||||
new types of bidirectional maps using custom collection types.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
In the section <a class="link" href="the_tutorial/differences_with_standard_maps.html" title="Differences with standard maps">Differences
|
||||
with standard maps</a> we will learn about the subtle differences between
|
||||
a bimap map view and a standard map.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
The section <a class="link" href="the_tutorial/useful_functions.html" title="Useful functions">Useful
|
||||
functions</a> provides information about functions of a bimap that are
|
||||
not found in the STL.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
The types of a bimap can be tagged so that each side is accessible by something
|
||||
closer to the problem than left and right. This leads to more readable,
|
||||
self-documenting code. The fourth section (<a class="link" href="the_tutorial/bimaps_with_user_defined_names.html" title="Bimaps with user defined names">Bimaps
|
||||
with user defined names</a>) shows how to use this feature.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
The bimap mapping framework allows to disable a view of a bimap, including
|
||||
the standard mapping containers as a particular case. The section <a class="link" href="the_tutorial/unconstrained_sets.html" title="Unconstrained Sets">Unconstrained Sets</a>
|
||||
explains how they work.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
The section <a class="link" href="the_tutorial/additional_information.html" title="Additional information">Additional
|
||||
information</a> explains how to attach information to each relation
|
||||
of a bimap.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
The final section (<a class="link" href="the_tutorial/complete_instantiation_scheme.html" title="Complete instantiation scheme">Complete
|
||||
Instantiation Scheme</a>) summarizes bimap instantiation and explains
|
||||
how change the allocator type to be used.
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Additional information</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../the_tutorial.html" title="The tutorial">
|
||||
<link rel="prev" href="unconstrained_sets.html" title="Unconstrained Sets">
|
||||
<link rel="next" href="complete_instantiation_scheme.html" title="Complete instantiation scheme">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="unconstrained_sets.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../the_tutorial.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="complete_instantiation_scheme.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Additional information">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.the_tutorial.additional_information"></a><a class="link" href="additional_information.html" title="Additional information">Additional
|
||||
information</a>
|
||||
@@ -36,8 +36,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span>
|
||||
|
||||
<span class="identifier">multiset_of</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">>,</span> <span class="comment">// author
|
||||
</span> <span class="identifier">set_of</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">></span> <span class="comment">// title
|
||||
@@ -61,12 +60,12 @@
|
||||
<p>
|
||||
Suppose now that we want to store abstract of each book. We have two options:
|
||||
</p>
|
||||
<div class="orderedlist"><ol type="1">
|
||||
<li>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem">
|
||||
Books name are unique identifiers, so we can create a separate <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special"><</span> <span class="identifier">string</span><span class="special">,</span> <span class="identifier">string</span> <span class="special">></span></code>
|
||||
that relates books names with abstracts.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
We can use <a href="http://www.boost.org/libs/multi_index/doc/index.html" target="_top"><span class="bold"><strong>Boost.MultiIndex</strong></span></a> for the new beast.
|
||||
</li>
|
||||
</ol></div>
|
||||
@@ -110,8 +109,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span>
|
||||
|
||||
<span class="identifier">multiset_of</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">>,</span> <span class="comment">// author
|
||||
</span> <span class="identifier">set_of</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">>,</span> <span class="comment">// title
|
||||
@@ -151,8 +149,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">i</span><span class="special">-></span><span class="identifier">info</span> <span class="special">+=</span> <span class="string">"More details about this book"</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="identifier">i</span><span class="special">-></span><span class="identifier">info</span> <span class="special">+=</span> <span class="string">"More details about this book"</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
@@ -168,8 +165,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="comment">// Print the new abstract
|
||||
<pre class="programlisting"><span class="comment">// Print the new abstract
|
||||
</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span><span class="special">.</span><span class="identifier">info_at</span><span class="special">(</span><span class="string">"The C++ Programming Language"</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
@@ -185,8 +181,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span>
|
||||
|
||||
<span class="identifier">multiset_of</span><span class="special"><</span> <span class="identifier">tagged</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">author</span> <span class="special">></span> <span class="special">>,</span>
|
||||
<span class="identifier">set_of</span><span class="special"><</span> <span class="identifier">tagged</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">title</span> <span class="special">></span> <span class="special">>,</span>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Bimaps with user defined names</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../the_tutorial.html" title="The tutorial">
|
||||
<link rel="prev" href="useful_functions.html" title="Useful functions">
|
||||
<link rel="next" href="unconstrained_sets.html" title="Unconstrained Sets">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="useful_functions.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../the_tutorial.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="unconstrained_sets.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Bimaps with user defined names">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.the_tutorial.bimaps_with_user_defined_names"></a><a class="link" href="bimaps_with_user_defined_names.html" title="Bimaps with user defined names">Bimaps
|
||||
with user defined names</a>
|
||||
@@ -39,8 +39,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span>
|
||||
<span class="special"><</span>
|
||||
<span class="identifier">multiset_of</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>,</span>
|
||||
<span class="keyword">int</span>
|
||||
@@ -106,8 +105,7 @@
|
||||
In order to specify a custom tag, the type of each side has to be tagged.
|
||||
Tagging a type is very simple:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">tagged</span><span class="special"><</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">a_tag</span> <span class="special">></span> <span class="identifier">tagged_int</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">tagged</span><span class="special"><</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">a_tag</span> <span class="special">></span> <span class="identifier">tagged_int</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
Now we can rewrite the example:
|
||||
@@ -120,8 +118,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">struct</span> <span class="identifier">id</span> <span class="special">{};</span> <span class="comment">// Tag for the identification number
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">id</span> <span class="special">{};</span> <span class="comment">// Tag for the identification number
|
||||
</span><span class="keyword">struct</span> <span class="identifier">name</span> <span class="special">{};</span> <span class="comment">// Tag for the name of the person
|
||||
</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span>
|
||||
@@ -168,8 +165,7 @@
|
||||
Remember that when the bimap has user defined tags you can still use the
|
||||
untagged version structures.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">struct</span> <span class="identifier">Left</span> <span class="special">{};</span>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">Left</span> <span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">Right</span> <span class="special">{};</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span>
|
||||
<span class="identifier">multiset_of</span><span class="special"><</span> <span class="identifier">tagged</span><span class="special"><</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">Left</span> <span class="special">></span> <span class="special">>,</span>
|
||||
@@ -185,7 +181,7 @@
|
||||
<span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">right_iterator</span> <span class="identifier">right_iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span>
|
||||
</pre>
|
||||
<div class="table">
|
||||
<a name="id2658530"></a><p class="title"><b>Table 1.3. Equivalence of expresions using user defined names</b></p>
|
||||
<a name="id577416"></a><p class="title"><b>Table 1.3. Equivalence of expresions using user defined names</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Equivalence of expresions using user defined names">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Complete instantiation scheme</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../the_tutorial.html" title="The tutorial">
|
||||
<link rel="prev" href="additional_information.html" title="Additional information">
|
||||
<link rel="next" href="../bimap_and_boost.html" title="Bimap and Boost">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="additional_information.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../the_tutorial.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../bimap_and_boost.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Complete instantiation scheme">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.the_tutorial.complete_instantiation_scheme"></a><a class="link" href="complete_instantiation_scheme.html" title="Complete instantiation scheme">Complete
|
||||
instantiation scheme</a>
|
||||
@@ -30,8 +30,7 @@
|
||||
<p>
|
||||
To summarize, this is the complete instantiation scheme.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span>
|
||||
<span class="special"><</span>
|
||||
<span class="identifier">LeftCollectionType</span><span class="special">,</span> <span class="identifier">RightCollectionType</span>
|
||||
|
||||
@@ -50,62 +49,58 @@
|
||||
<p>
|
||||
The possibles way to use the first parameter are:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">Type</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">Type</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">></span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
Left type: <code class="computeroutput"><span class="identifier">Type</span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
Left collection type: <code class="computeroutput"><span class="identifier">set_of</span><span class="special"><</span> <span class="identifier">Type</span> <span class="special">></span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
Left tag: <code class="computeroutput"><span class="identifier">member_at</span><span class="special">::</span><span class="identifier">left</span></code>
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span> <span class="special">{</span><span class="identifier">CollectionType</span><span class="special">}</span><span class="identifier">_of</span><span class="special"><</span> <span class="identifier">Type</span> <span class="special">>,</span> <span class="identifier">R</span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span> <span class="special">{</span><span class="identifier">CollectionType</span><span class="special">}</span><span class="identifier">_of</span><span class="special"><</span> <span class="identifier">Type</span> <span class="special">>,</span> <span class="identifier">R</span> <span class="special">></span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
Left type: <code class="computeroutput"><span class="identifier">Type</span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
Left collection type: <code class="computeroutput"><span class="special">{</span><span class="identifier">CollectionType</span><span class="special">}</span><span class="identifier">_of</span><span class="special"><</span> <span class="identifier">LeftType</span>
|
||||
<span class="special">></span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
Left tag: <code class="computeroutput"><span class="identifier">member_at</span><span class="special">::</span><span class="identifier">left</span></code>
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">tagged</span><span class="special"><</span> <span class="identifier">Type</span><span class="special">,</span> <span class="identifier">Tag</span> <span class="special">>,</span> <span class="identifier">R</span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">tagged</span><span class="special"><</span> <span class="identifier">Type</span><span class="special">,</span> <span class="identifier">Tag</span> <span class="special">>,</span> <span class="identifier">R</span> <span class="special">></span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
Left type: <code class="computeroutput"><span class="identifier">Type</span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
Left collection type: <code class="computeroutput"><span class="identifier">set_of</span><span class="special"><</span> <span class="identifier">LeftType</span>
|
||||
<span class="special">></span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
Left tag: <code class="computeroutput"><span class="identifier">Tag</span></code>
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span> <span class="special">{</span><span class="identifier">CollectionType</span><span class="special">}</span><span class="identifier">_of</span><span class="special"><</span> <span class="identifier">tagged</span><span class="special"><</span> <span class="identifier">Type</span><span class="special">,</span> <span class="identifier">Tag</span> <span class="special">></span> <span class="special">>,</span> <span class="identifier">R</span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span> <span class="special">{</span><span class="identifier">CollectionType</span><span class="special">}</span><span class="identifier">_of</span><span class="special"><</span> <span class="identifier">tagged</span><span class="special"><</span> <span class="identifier">Type</span><span class="special">,</span> <span class="identifier">Tag</span> <span class="special">></span> <span class="special">>,</span> <span class="identifier">R</span> <span class="special">></span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
Left type: <code class="computeroutput"><span class="identifier">Type</span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
Left collection type: <code class="computeroutput"><span class="special">{</span><span class="identifier">CollectionType</span><span class="special">}</span><span class="identifier">_of</span><span class="special"><</span> <span class="identifier">LeftType</span>
|
||||
<span class="special">></span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
Left tag: <code class="computeroutput"><span class="identifier">Tag</span></code>
|
||||
</li>
|
||||
</ul></div>
|
||||
@@ -128,112 +123,104 @@
|
||||
The following are the possible ways of instantiating the last three parameters
|
||||
of a bimap. You can ignore some of the parameter but the order must be respected.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">></span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
set_of_relation_type: based on the left key type
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
info: no info
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
allocator: std::allocator
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">,</span><span class="identifier">SetOfRelationType</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">,</span><span class="identifier">SetOfRelationType</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
set_of_relation_type: SetOfRelationType
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
info: no info
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
allocator: std::allocator
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">,</span> <span class="identifier">SetOfRelationType</span><span class="special">,</span> <span class="identifier">with_info</span><span class="special"><</span><span class="identifier">Info</span><span class="special">></span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">,</span> <span class="identifier">SetOfRelationType</span><span class="special">,</span> <span class="identifier">with_info</span><span class="special"><</span><span class="identifier">Info</span><span class="special">></span> <span class="special">></span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
set_of_relation_type: SetOfRelationType
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
info: Info
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
allocator: std::allocator
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">,</span> <span class="identifier">SetOfRelationType</span><span class="special">,</span> <span class="identifier">with_info</span><span class="special"><</span><span class="identifier">Info</span><span class="special">>,</span> <span class="identifier">Allocator</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">,</span> <span class="identifier">SetOfRelationType</span><span class="special">,</span> <span class="identifier">with_info</span><span class="special"><</span><span class="identifier">Info</span><span class="special">>,</span> <span class="identifier">Allocator</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
set_of_relation_type: SetOfRelationType
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
info: Info
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
allocator: Allocator
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">,</span> <span class="identifier">SetOfRelationType</span><span class="special">,</span> <span class="identifier">Allocator</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">,</span> <span class="identifier">SetOfRelationType</span><span class="special">,</span> <span class="identifier">Allocator</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
set_of_relation_type: SetOfRelationType
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
info: no info
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
allocator: Allocator
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">,</span> <span class="identifier">with_info</span><span class="special"><</span><span class="identifier">Info</span><span class="special">></span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">,</span> <span class="identifier">with_info</span><span class="special"><</span><span class="identifier">Info</span><span class="special">></span> <span class="special">></span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
set_of_relation_type: based on the left key type
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
info: Info
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
allocator: std::allocator
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">,</span> <span class="identifier">with_info</span><span class="special"><</span><span class="identifier">Info</span><span class="special">>,</span> <span class="identifier">Allocator</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">,</span> <span class="identifier">with_info</span><span class="special"><</span><span class="identifier">Info</span><span class="special">>,</span> <span class="identifier">Allocator</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
set_of_relation_type: based on the left key type
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
allocator: Allocator
|
||||
</li>
|
||||
</ul></div>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">,</span> <span class="identifier">Allocator</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">R</span> <span class="special">,</span> <span class="identifier">Allocator</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
set_of_relation_type: based on the left key type
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
info: no info
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
allocator: Allocator
|
||||
</li>
|
||||
</ul></div>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Controlling collection types</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../the_tutorial.html" title="The tutorial">
|
||||
<link rel="prev" href="discovering_the_bimap_framework.html" title="Discovering the bimap framework">
|
||||
<link rel="next" href="the_collection_of_relations_type.html" title="The collection of relations type">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="discovering_the_bimap_framework.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../the_tutorial.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="the_collection_of_relations_type.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Controlling collection types">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.the_tutorial.controlling_collection_types"></a><a class="link" href="controlling_collection_types.html" title="Controlling collection types">Controlling
|
||||
collection types</a>
|
||||
@@ -34,7 +34,7 @@
|
||||
parameters</a></span></dt>
|
||||
<dt><span class="section"><a href="controlling_collection_types.html#boost_bimap.the_tutorial.controlling_collection_types.examples">Examples</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Freedom of choice">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.controlling_collection_types.freedom_of_choice"></a><a class="link" href="controlling_collection_types.html#boost_bimap.the_tutorial.controlling_collection_types.freedom_of_choice" title="Freedom of choice">Freedom
|
||||
of choice</a>
|
||||
@@ -53,14 +53,13 @@
|
||||
collection is a set. The instantiation of a bimap with custom collection
|
||||
types looks like this:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="bold"><strong>CollectionType</strong></span><span class="identifier">_of</span><span class="special"><</span><span class="identifier">A</span><span class="special">>,</span> <span class="bold"><strong>CollectionType</strong></span><span class="identifier">_of</span><span class="special"><</span><span class="identifier">B</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="bold"><strong>CollectionType</strong></span><span class="identifier">_of</span><span class="special"><</span><span class="identifier">A</span><span class="special">>,</span> <span class="bold"><strong>CollectionType</strong></span><span class="identifier">_of</span><span class="special"><</span><span class="identifier">B</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
The following is the list of all supported collection types.
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="id2642497"></a><p class="title"><b>Table 1.2. Collection of Key Types</b></p>
|
||||
<a name="id561624"></a><p class="title"><b>Table 1.2. Collection of Key Types</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Collection of Key Types">
|
||||
<colgroup>
|
||||
<col>
|
||||
@@ -221,26 +220,25 @@
|
||||
you can perform with each side of the bimap and the time it takes to do
|
||||
each. If we have:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="bold"><strong>CollectionType</strong></span><span class="identifier">_of</span><span class="special"><</span><span class="identifier">A</span><span class="special">>,</span> <span class="bold"><strong>CollectionType</strong></span><span class="identifier">_of</span><span class="special"><</span><span class="identifier">B</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="bold"><strong>CollectionType</strong></span><span class="identifier">_of</span><span class="special"><</span><span class="identifier">A</span><span class="special">>,</span> <span class="bold"><strong>CollectionType</strong></span><span class="identifier">_of</span><span class="special"><</span><span class="identifier">B</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
The following now describes the resulting map views of the bidirectional
|
||||
map.
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span></code> is signature-compatible with
|
||||
<span class="bold"><strong>LeftMapType</strong></span><code class="computeroutput"><span class="special"><</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">></span></code>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span></code> is signature-compatible with
|
||||
<span class="bold"><strong>RightMapType</strong></span><code class="computeroutput"><span class="special"><</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">A</span><span class="special">></span></code>
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Configuration parameters">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.controlling_collection_types.configuration_parameters"></a><a class="link" href="controlling_collection_types.html#boost_bimap.the_tutorial.controlling_collection_types.configuration_parameters" title="Configuration parameters">Configuration
|
||||
parameters</a>
|
||||
@@ -349,31 +347,30 @@
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Examples">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.controlling_collection_types.examples"></a><a class="link" href="controlling_collection_types.html#boost_bimap.the_tutorial.controlling_collection_types.examples" title="Examples">Examples</a>
|
||||
</h4></div></div></div>
|
||||
<a name="boost_bimap.the_tutorial.controlling_collection_types.examples.countries_populations"></a><h6>
|
||||
<a name="id2643609"></a>
|
||||
<a name="id562688"></a>
|
||||
<a class="link" href="controlling_collection_types.html#boost_bimap.the_tutorial.controlling_collection_types.examples.countries_populations">Countries
|
||||
Populations</a>
|
||||
</h6>
|
||||
<p>
|
||||
We want to store countries populations. The requeriments are:
|
||||
</p>
|
||||
<div class="orderedlist"><ol type="1">
|
||||
<li>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem">
|
||||
Get a list of countries in decresing order of their populations.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
Given a countrie, get their population.
|
||||
</li>
|
||||
</ol></div>
|
||||
<p>
|
||||
Lets create the appropiate bimap.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span>
|
||||
|
||||
<span class="identifier">unordered_set_of</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">>,</span>
|
||||
<span class="identifier">multiset_of</span><span class="special"><</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">greater</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span> <span class="special">></span>
|
||||
@@ -401,8 +398,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span>
|
||||
|
||||
<span class="identifier">unordered_set_of</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">>,</span>
|
||||
<span class="identifier">multiset_of</span><span class="special"><</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">greater</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span> <span class="special">></span>
|
||||
@@ -422,7 +418,7 @@
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"Countries by their population:"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// First requirement
|
||||
</span><span class="line_callout_bug"><a class="co" name="boost_bimap4co" href="controlling_collection_types.html#boost_bimap4"><img src="../../images/callouts/1.png" alt="1" border="0"></a></span><span class="keyword">for</span><span class="special">(</span> <span class="identifier">population_bimap</span><span class="special">::</span><span class="identifier">right_const_iterator</span>
|
||||
</span><span class="line_callout_bug"><a class="co" name="boost_bimap4co" href="controlling_collection_types.html#boost_bimap4"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a></span><span class="keyword">for</span><span class="special">(</span> <span class="identifier">population_bimap</span><span class="special">::</span><span class="identifier">right_const_iterator</span>
|
||||
<span class="identifier">i</span> <span class="special">=</span> <span class="identifier">pop</span><span class="special">.</span><span class="identifier">right</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">iend</span> <span class="special">=</span> <span class="identifier">pop</span><span class="special">.</span><span class="identifier">right</span><span class="special">.</span><span class="identifier">end</span><span class="special">();</span>
|
||||
<span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">iend</span> <span class="special">;</span> <span class="special">++</span><span class="identifier">i</span> <span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
@@ -430,7 +426,7 @@
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="comment">// Second requirement
|
||||
</span><span class="line_callout_bug"><a class="co" name="boost_bimap5co" href="controlling_collection_types.html#boost_bimap5"><img src="../../images/callouts/2.png" alt="2" border="0"></a></span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"Population of China: "</span> <span class="special"><<</span> <span class="identifier">pop</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">at</span><span class="special">(</span><span class="string">"China"</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
</span><span class="line_callout_bug"><a class="co" name="boost_bimap5co" href="controlling_collection_types.html#boost_bimap5"><img src="../../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a></span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"Population of China: "</span> <span class="special"><<</span> <span class="identifier">pop</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">at</span><span class="special">(</span><span class="string">"China"</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
@@ -440,12 +436,12 @@
|
||||
</p>
|
||||
<div class="calloutlist"><table border="0" summary="Callout list">
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap4"></a><a href="#boost_bimap4co"><img src="../../images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap4"></a><a href="#boost_bimap4co"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> The right map view works like a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">multimap</span><span class="special"><</span> <span class="keyword">long</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">greater</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span> <span class="special">></span></code>,
|
||||
We can iterate over it to print the results in the required order. </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap5"></a><a href="#boost_bimap5co"><img src="../../images/callouts/2.png" alt="2" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap5"></a><a href="#boost_bimap5co"><img src="../../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> The
|
||||
left map view works like a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">unordered_map</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">long</span> <span class="special">></span></code>, given the name of the country we
|
||||
can use it to search for the population in constant time </p></td>
|
||||
@@ -456,7 +452,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<a name="boost_bimap.the_tutorial.controlling_collection_types.examples.repetitions_counter"></a><h6>
|
||||
<a name="id2644821"></a>
|
||||
<a name="id563860"></a>
|
||||
<a class="link" href="controlling_collection_types.html#boost_bimap.the_tutorial.controlling_collection_types.examples.repetitions_counter">Repetitions
|
||||
counter</a>
|
||||
</h6>
|
||||
@@ -472,11 +468,10 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span>
|
||||
<span class="special"><</span>
|
||||
<span class="identifier">unordered_set_of</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">>,</span>
|
||||
<span class="identifier">list_of</span><span class="special"><</span> <span class="identifier">counter</span> <span class="special">></span> <span class="callout_bug"><a class="co" name="boost_bimap6co" href="controlling_collection_types.html#boost_bimap6"><img src="../../images/callouts/1.png" alt="1" border="0"></a></span>
|
||||
<span class="identifier">list_of</span><span class="special"><</span> <span class="identifier">counter</span> <span class="special">></span> <span class="callout_bug"><a class="co" name="boost_bimap6co" href="controlling_collection_types.html#boost_bimap6"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a></span>
|
||||
|
||||
<span class="special">></span> <span class="identifier">word_counter</span><span class="special">;</span>
|
||||
|
||||
@@ -497,11 +492,11 @@
|
||||
<span class="keyword">for</span><span class="special">(</span> <span class="identifier">text_tokenizer</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="identifier">it</span> <span class="special">=</span> <span class="identifier">tok</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">it_end</span> <span class="special">=</span> <span class="identifier">tok</span><span class="special">.</span><span class="identifier">end</span><span class="special">();</span>
|
||||
<span class="identifier">it</span> <span class="special">!=</span> <span class="identifier">it_end</span> <span class="special">;</span> <span class="special">++</span><span class="identifier">it</span> <span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap7co" href="controlling_collection_types.html#boost_bimap7"><img src="../../images/callouts/2.png" alt="2" border="0"></a></span><span class="special">++</span> <span class="identifier">wc</span><span class="special">.</span><span class="identifier">left</span><span class="special">[*</span><span class="identifier">it</span><span class="special">];</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap7co" href="controlling_collection_types.html#boost_bimap7"><img src="../../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a></span><span class="special">++</span> <span class="identifier">wc</span><span class="special">.</span><span class="identifier">left</span><span class="special">[*</span><span class="identifier">it</span><span class="special">];</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="comment">// list words with counters by order of appearance
|
||||
</span><span class="line_callout_bug"><a class="co" name="boost_bimap8co" href="controlling_collection_types.html#boost_bimap8"><img src="../../images/callouts/3.png" alt="3" border="0"></a></span><span class="keyword">for</span><span class="special">(</span> <span class="identifier">word_counter</span><span class="special">::</span><span class="identifier">right_const_iterator</span>
|
||||
</span><span class="line_callout_bug"><a class="co" name="boost_bimap8co" href="controlling_collection_types.html#boost_bimap8"><img src="../../../../../../doc/src/images/callouts/3.png" alt="3" border="0"></a></span><span class="keyword">for</span><span class="special">(</span> <span class="identifier">word_counter</span><span class="special">::</span><span class="identifier">right_const_iterator</span>
|
||||
<span class="identifier">wit</span> <span class="special">=</span> <span class="identifier">wc</span><span class="special">.</span><span class="identifier">right</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">wit_end</span> <span class="special">=</span> <span class="identifier">wc</span><span class="special">.</span><span class="identifier">right</span><span class="special">.</span><span class="identifier">end</span><span class="special">();</span>
|
||||
|
||||
<span class="identifier">wit</span> <span class="special">!=</span> <span class="identifier">wit_end</span><span class="special">;</span> <span class="special">++</span><span class="identifier">wit</span> <span class="special">)</span>
|
||||
@@ -517,19 +512,19 @@
|
||||
</p>
|
||||
<div class="calloutlist"><table border="0" summary="Callout list">
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap6"></a><a href="#boost_bimap6co"><img src="../../images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap6"></a><a href="#boost_bimap6co"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> <code class="computeroutput"><span class="identifier">counter</span></code> is an integer
|
||||
that is initialized in zero in the constructor </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap7"></a><a href="#boost_bimap7co"><img src="../../images/callouts/2.png" alt="2" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap7"></a><a href="#boost_bimap7co"><img src="../../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> Because the right collection
|
||||
type is <code class="computeroutput"><span class="identifier">list_of</span></code>, the
|
||||
right data is not used a key and can be modified in the same way as with
|
||||
standard maps. </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap8"></a><a href="#boost_bimap8co"><img src="../../images/callouts/3.png" alt="3" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap8"></a><a href="#boost_bimap8co"><img src="../../../../../../doc/src/images/callouts/3.png" alt="3" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> When we insert the elements using the left map view, the
|
||||
element is inserted at the end of the list. </p></td>
|
||||
</tr>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Differences with standard maps</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../the_tutorial.html" title="The tutorial">
|
||||
<link rel="prev" href="the_collection_of_relations_type.html" title="The collection of relations type">
|
||||
<link rel="next" href="useful_functions.html" title="Useful functions">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="the_collection_of_relations_type.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../the_tutorial.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="useful_functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Differences with standard maps">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.the_tutorial.differences_with_standard_maps"></a><a class="link" href="differences_with_standard_maps.html" title="Differences with standard maps">Differences
|
||||
with standard maps</a>
|
||||
@@ -35,7 +35,7 @@
|
||||
<dt><span class="section"><a href="differences_with_standard_maps.html#boost_bimap.the_tutorial.differences_with_standard_maps.complexity_of_operations">Complexity
|
||||
of operations</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Insertion">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.differences_with_standard_maps.insertion"></a><a class="link" href="differences_with_standard_maps.html#boost_bimap.the_tutorial.differences_with_standard_maps.insertion" title="Insertion">Insertion</a>
|
||||
</h4></div></div></div>
|
||||
@@ -45,8 +45,7 @@
|
||||
constrains in each of them. Some insertions that we give for granted to
|
||||
success in standard maps fails with bimaps. For example:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="string">"orange"</span><span class="special">);</span>
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="string">"orange"</span><span class="special">);</span> <span class="comment">// No effect! returns make_pair(iter,false)
|
||||
@@ -58,8 +57,7 @@
|
||||
values are different and it is allowed by the right map view because it
|
||||
is a non-unique collection type.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">multiset_of</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">multiset_of</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="string">"orange"</span><span class="special">);</span>
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="string">"orange"</span><span class="special">);</span> <span class="comment">// Insertion succeed!
|
||||
@@ -69,7 +67,7 @@
|
||||
allowed by it too.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="iterator::value_type">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.differences_with_standard_maps.iterator__value_type"></a><a class="link" href="differences_with_standard_maps.html#boost_bimap.the_tutorial.differences_with_standard_maps.iterator__value_type" title="iterator::value_type">iterator::value_type</a>
|
||||
</h4></div></div></div>
|
||||
@@ -83,8 +81,7 @@
|
||||
is no problem with modifying the data of that side. The following code
|
||||
is valid:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">list_of</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">list_of</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">relation</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="string">"one"</span> <span class="special">)</span> <span class="special">);</span>
|
||||
<span class="special">...</span>
|
||||
@@ -343,7 +340,7 @@
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="operator[] and at()">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.differences_with_standard_maps.operator_____and_at__"></a><a class="link" href="differences_with_standard_maps.html#boost_bimap.the_tutorial.differences_with_standard_maps.operator_____and_at__" title="operator[] and at()">operator[]
|
||||
and at()</a>
|
||||
@@ -354,8 +351,7 @@
|
||||
to retrieve the associated data of a given key only when the other collection
|
||||
type is a mutable one. In these cases it works in the same way as the standard.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">unorderd_set_of</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>,</span> <span class="identifier">list_of</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">unorderd_set_of</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>,</span> <span class="identifier">list_of</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">[</span><span class="string">"one"</span><span class="special">]</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="comment">// Ok
|
||||
</span></pre>
|
||||
@@ -363,8 +359,7 @@
|
||||
The standard defines an access function for <code class="computeroutput"><span class="identifier">map</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">unordered_map</span></code>:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">const</span> <span class="identifier">data_type</span> <span class="special">&</span> <span class="identifier">at</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> <span class="identifier">k</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">data_type</span> <span class="special">&</span> <span class="identifier">at</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> <span class="identifier">k</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
|
||||
<span class="identifier">data_type</span> <span class="special">&</span> <span class="identifier">at</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">key_type</span> <span class="special">&</span> <span class="identifier">k</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
@@ -388,8 +383,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">set_of</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">>,</span> <span class="identifier">list_of</span><span class="special"><</span> <span class="keyword">int</span> <span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">set_of</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">>,</span> <span class="identifier">list_of</span><span class="special"><</span> <span class="keyword">int</span> <span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">try</span>
|
||||
@@ -413,8 +407,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">multiset_of</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>,</span> <span class="identifier">unordered_set_of</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">multiset_of</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>,</span> <span class="identifier">unordered_set_of</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="string">"one"</span><span class="special">;</span> <span class="comment">// compilation error
|
||||
@@ -437,7 +430,7 @@
|
||||
<p>
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Complexity of operations">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.differences_with_standard_maps.complexity_of_operations"></a><a class="link" href="differences_with_standard_maps.html#boost_bimap.the_tutorial.differences_with_standard_maps.complexity_of_operations" title="Complexity of operations">Complexity
|
||||
of operations</a>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Discovering the bimap framework</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../the_tutorial.html" title="The tutorial">
|
||||
<link rel="prev" href="../the_tutorial.html" title="The tutorial">
|
||||
<link rel="next" href="controlling_collection_types.html" title="Controlling collection types">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../the_tutorial.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../the_tutorial.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="controlling_collection_types.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Discovering the bimap framework">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.the_tutorial.discovering_the_bimap_framework"></a><a class="link" href="discovering_the_bimap_framework.html" title="Discovering the bimap framework">Discovering
|
||||
the bimap framework</a>
|
||||
@@ -35,7 +35,7 @@
|
||||
<dt><span class="section"><a href="discovering_the_bimap_framework.html#boost_bimap.the_tutorial.discovering_the_bimap_framework.bimap_mapping_framework">Bimap
|
||||
mapping framework</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Interpreting bidirectional maps">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.discovering_the_bimap_framework.interpreting_bidirectional_maps"></a><a class="link" href="discovering_the_bimap_framework.html#boost_bimap.the_tutorial.discovering_the_bimap_framework.interpreting_bidirectional_maps" title="Interpreting bidirectional maps">Interpreting
|
||||
bidirectional maps</a>
|
||||
@@ -51,7 +51,7 @@
|
||||
and data from the left collection.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Standard mapping framework">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.discovering_the_bimap_framework.standard_mapping_framework"></a><a class="link" href="discovering_the_bimap_framework.html#boost_bimap.the_tutorial.discovering_the_bimap_framework.standard_mapping_framework" title="Standard mapping framework">Standard
|
||||
mapping framework</a>
|
||||
@@ -73,7 +73,7 @@
|
||||
containers.
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="id2640562"></a><p class="title"><b>Table 1.1. std associative containers</b></p>
|
||||
<a name="id559754"></a><p class="title"><b>Table 1.1. std associative containers</b></p>
|
||||
<div class="table-contents"><table class="table" summary="std associative containers">
|
||||
<colgroup>
|
||||
<col>
|
||||
@@ -171,7 +171,7 @@
|
||||
</div>
|
||||
<br class="table-break">
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Bimap mapping framework">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.discovering_the_bimap_framework.bimap_mapping_framework"></a><a class="link" href="discovering_the_bimap_framework.html#boost_bimap.the_tutorial.discovering_the_bimap_framework.bimap_mapping_framework" title="Bimap mapping framework">Bimap
|
||||
mapping framework</a>
|
||||
@@ -215,7 +215,7 @@
|
||||
The following code snippet shows the relation between a bimap and standard
|
||||
maps.
|
||||
</p>
|
||||
<div class="note"><table border="0" summary="Note">
|
||||
<div class="note" title="Note"><table border="0" summary="Note">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/html/images/note.png"></td>
|
||||
<th align="left">Note</th>
|
||||
@@ -226,8 +226,7 @@
|
||||
Views cannot be constructed as separate objects from the container they
|
||||
belong to, so the following:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="comment">// Wrong: we forgot the & after bm_type::left_type
|
||||
<pre class="programlisting"><span class="comment">// Wrong: we forgot the & after bm_type::left_type
|
||||
</span><span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_map</span> <span class="identifier">lm</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
@@ -244,8 +243,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Map</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">CompatibleKey</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">CompatibleData</span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Map</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">CompatibleKey</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">CompatibleData</span> <span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="identifier">use_it</span><span class="special">(</span> <span class="identifier">Map</span> <span class="special">&</span> <span class="identifier">m</span><span class="special">,</span>
|
||||
<span class="keyword">const</span> <span class="identifier">CompatibleKey</span> <span class="special">&</span> <span class="identifier">key</span><span class="special">,</span>
|
||||
<span class="keyword">const</span> <span class="identifier">CompatibleData</span> <span class="special">&</span> <span class="identifier">data</span> <span class="special">)</span>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>The collection of relations type</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../the_tutorial.html" title="The tutorial">
|
||||
<link rel="prev" href="controlling_collection_types.html" title="Controlling collection types">
|
||||
<link rel="next" href="differences_with_standard_maps.html" title="Differences with standard maps">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="controlling_collection_types.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../the_tutorial.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="differences_with_standard_maps.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="The collection of relations type">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.the_tutorial.the_collection_of_relations_type"></a><a class="link" href="the_collection_of_relations_type.html" title="The collection of relations type">The
|
||||
collection of relations type</a>
|
||||
@@ -34,7 +34,7 @@
|
||||
parameters</a></span></dt>
|
||||
<dt><span class="section"><a href="the_collection_of_relations_type.html#boost_bimap.the_tutorial.the_collection_of_relations_type.examples">Examples</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="A new point of view">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.the_collection_of_relations_type.a_new_point_of_view"></a><a class="link" href="the_collection_of_relations_type.html#boost_bimap.the_tutorial.the_collection_of_relations_type.a_new_point_of_view" title="A new point of view">A
|
||||
new point of view</a>
|
||||
@@ -60,36 +60,36 @@
|
||||
times where it is useful to give this collection other constraints or simply
|
||||
to order it differently. The user is allowed to choose between:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
left_based
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
right_based
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
set_of_relation<>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
multiset_of_relation<>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
unordered_set_of_relation<>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
unordered_multiset_of_relation<>
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
list_of_relation
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
vector_of_relation
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
unconstrained_set_of_relation
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="tip"><table border="0" summary="Tip">
|
||||
<div class="tip" title="Tip"><table border="0" summary="Tip">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/html/images/tip.png"></td>
|
||||
<th align="left">Tip</th>
|
||||
@@ -122,8 +122,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">string</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">/</span><span class="identifier">list_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
@@ -210,7 +209,7 @@
|
||||
<p>
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Configuration parameters">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.the_collection_of_relations_type.configuration_parameters"></a><a class="link" href="the_collection_of_relations_type.html#boost_bimap.the_tutorial.the_collection_of_relations_type.configuration_parameters" title="Configuration parameters">Configuration
|
||||
parameters</a>
|
||||
@@ -349,15 +348,14 @@
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Examples">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.the_collection_of_relations_type.examples"></a><a class="link" href="the_collection_of_relations_type.html#boost_bimap.the_tutorial.the_collection_of_relations_type.examples" title="Examples">Examples</a>
|
||||
</h4></div></div></div>
|
||||
<p>
|
||||
Consider this example:
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Rel</span> <span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span> <span class="identifier">Rel</span> <span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">RelOrder</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Rel</span> <span class="identifier">ra</span><span class="special">,</span> <span class="identifier">Rel</span> <span class="identifier">rb</span><span class="special">)</span> <span class="keyword">const</span>
|
||||
@@ -379,8 +377,7 @@
|
||||
This container will only allow unique relations because <code class="computeroutput"><span class="identifier">set_of_relation</span></code>
|
||||
has been used but the elements in each side of the bimap can be repeated.
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">struct</span> <span class="identifier">name</span> <span class="special">{};</span>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">name</span> <span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">phone_number</span> <span class="special">{};</span>
|
||||
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Unconstrained Sets</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../the_tutorial.html" title="The tutorial">
|
||||
<link rel="prev" href="bimaps_with_user_defined_names.html" title="Bimaps with user defined names">
|
||||
<link rel="next" href="additional_information.html" title="Additional information">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="bimaps_with_user_defined_names.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../the_tutorial.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="additional_information.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Unconstrained Sets">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.the_tutorial.unconstrained_sets"></a><a class="link" href="unconstrained_sets.html" title="Unconstrained Sets">Unconstrained
|
||||
Sets</a>
|
||||
@@ -36,16 +36,16 @@
|
||||
<p>
|
||||
Unconstrained sets are useful for the following reasons:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A bimap type has stronger guarantees than its standard equivalent, and
|
||||
includes some useful functions (replace, modify) that the standard does
|
||||
not have.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
You can view the mapping as a collection of relations.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
Using this kind of map makes the code very extensible. If, at any moment
|
||||
of the development, the need to perform searches from the right side of
|
||||
the mapping arises, the only necessary change is to the <code class="computeroutput"><span class="keyword">typedef</span></code>.
|
||||
@@ -59,8 +59,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">unconstrained_set_of</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">unconstrained_set_of</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_map</span> <span class="identifier">map_type</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
@@ -78,8 +77,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">></span> <span class="identifier">map_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">></span> <span class="identifier">map_type</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">map_type</span> <span class="identifier">m</span><span class="special">;</span>
|
||||
</pre>
|
||||
@@ -95,14 +93,13 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">m</span><span class="special">[</span><span class="string">"one"</span><span class="special">]</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="identifier">m</span><span class="special">[</span><span class="string">"one"</span><span class="special">]</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="string">"one"</span><span class="special">)</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="special">);</span>
|
||||
|
||||
<span class="keyword">for</span><span class="special">(</span> <span class="identifier">map_type</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">iend</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">i</span> <span class="special">!=</span> <span class="identifier">iend</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span> <span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap14co" href="unconstrained_sets.html#boost_bimap14"><img src="../../images/callouts/1.png" alt="1" border="0"></a></span><span class="special">++(</span><span class="identifier">i</span><span class="special">-></span><span class="identifier">second</span><span class="special">);</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap14co" href="unconstrained_sets.html#boost_bimap14"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a></span><span class="special">++(</span><span class="identifier">i</span><span class="special">-></span><span class="identifier">second</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="identifier">m</span><span class="special">.</span><span class="identifier">erase</span><span class="special">(</span><span class="string">"one"</span><span class="special">);</span>
|
||||
@@ -114,7 +111,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<div class="calloutlist"><table border="0" summary="Callout list"><tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap14"></a><a href="#boost_bimap14co"><img src="../../images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap14"></a><a href="#boost_bimap14co"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> The right collection of the bimap is mutable so its elements can be modified
|
||||
using iterators. </p></td>
|
||||
</tr></table></div>
|
||||
@@ -130,11 +127,10 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">map_type</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="identifier">const_iterator</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">map_type</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="identifier">const_iterator</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">const_iterator</span><span class="special">,</span><span class="identifier">const_iterator</span><span class="special">></span> <span class="identifier">const_range</span><span class="special">;</span>
|
||||
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap15co" href="unconstrained_sets.html#boost_bimap15"><img src="../../images/callouts/1.png" alt="1" border="0"></a></span><span class="identifier">const_range</span> <span class="identifier">r</span> <span class="special">=</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">range</span><span class="special">(</span> <span class="string">"one"</span> <span class="special"><=</span> <span class="identifier">_key</span><span class="special">,</span> <span class="identifier">_key</span> <span class="special"><=</span> <span class="string">"two"</span> <span class="special">);</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap15co" href="unconstrained_sets.html#boost_bimap15"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a></span><span class="identifier">const_range</span> <span class="identifier">r</span> <span class="special">=</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">range</span><span class="special">(</span> <span class="string">"one"</span> <span class="special"><=</span> <span class="identifier">_key</span><span class="special">,</span> <span class="identifier">_key</span> <span class="special"><=</span> <span class="string">"two"</span> <span class="special">);</span>
|
||||
<span class="keyword">for</span><span class="special">(</span> <span class="identifier">const_iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">first</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">second</span><span class="special">;</span> <span class="special">++</span><span class="identifier">i</span> <span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">i</span><span class="special">-></span><span class="identifier">first</span> <span class="special"><<</span> <span class="string">"-->"</span> <span class="special"><<</span> <span class="identifier">i</span><span class="special">-></span><span class="identifier">second</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
@@ -149,7 +145,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<div class="calloutlist"><table border="0" summary="Callout list"><tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap15"></a><a href="#boost_bimap15co"><img src="../../images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap15"></a><a href="#boost_bimap15co"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> This range is a model of BidirectionalRange, read the docs of Boost.Range
|
||||
for more information. </p></td>
|
||||
</tr></table></div>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Useful functions</title>
|
||||
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="up" href="../the_tutorial.html" title="The tutorial">
|
||||
<link rel="prev" href="differences_with_standard_maps.html" title="Differences with standard maps">
|
||||
<link rel="next" href="bimaps_with_user_defined_names.html" title="Bimaps with user defined names">
|
||||
@@ -14,15 +14,15 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="differences_with_standard_maps.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../the_tutorial.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="bimaps_with_user_defined_names.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Useful functions">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_bimap.the_tutorial.useful_functions"></a><a class="link" href="useful_functions.html" title="Useful functions">Useful functions</a>
|
||||
</h3></div></div></div>
|
||||
@@ -34,7 +34,7 @@
|
||||
<dt><span class="section"><a href="useful_functions.html#boost_bimap.the_tutorial.useful_functions.retrieval_of_ranges">Retrieval
|
||||
of ranges</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Projection of iterators">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.useful_functions.projection_of_iterators"></a><a class="link" href="useful_functions.html#boost_bimap.the_tutorial.useful_functions.projection_of_iterators" title="Projection of iterators">Projection
|
||||
of iterators</a>
|
||||
@@ -59,8 +59,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span><span class="identifier">multiset_of</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">greater</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span><span class="identifier">multiset_of</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">greater</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">(</span><span class="string">"John"</span> <span class="special">,</span><span class="number">34</span><span class="special">)</span> <span class="special">);</span>
|
||||
@@ -82,7 +81,7 @@
|
||||
<p>
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="replace and modify">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.useful_functions.replace_and_modify"></a><a class="link" href="useful_functions.html#boost_bimap.the_tutorial.useful_functions.replace_and_modify" title="replace and modify">replace
|
||||
and modify</a>
|
||||
@@ -105,8 +104,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="string">"one"</span><span class="special">)</span> <span class="special">);</span>
|
||||
@@ -130,7 +128,7 @@
|
||||
|
||||
<span class="keyword">bool</span> <span class="identifier">successful_replace</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">replace_data</span><span class="special">(</span> <span class="identifier">it</span><span class="special">,</span> <span class="string">"two"</span> <span class="special">);</span>
|
||||
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap9co" href="useful_functions.html#boost_bimap9"><img src="../../images/callouts/1.png" alt="1" border="0"></a></span><span class="identifier">assert</span><span class="special">(</span> <span class="special">!</span> <span class="identifier">successful_replace</span> <span class="special">);</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap9co" href="useful_functions.html#boost_bimap9"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a></span><span class="identifier">assert</span><span class="special">(</span> <span class="special">!</span> <span class="identifier">successful_replace</span> <span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="number">2</span> <span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
@@ -141,7 +139,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<div class="calloutlist"><table border="0" summary="Callout list"><tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap9"></a><a href="#boost_bimap9co"><img src="../../images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap9"></a><a href="#boost_bimap9co"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> <code class="computeroutput"><span class="identifier">it</span></code> is still valid here,
|
||||
and the bimap was left unchanged </p></td>
|
||||
</tr></table></div>
|
||||
@@ -153,15 +151,15 @@
|
||||
<code class="computeroutput"><span class="identifier">replace</span></code> functions performs
|
||||
this substitution in such a manner that:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
The complexity is constant time if the changed element retains its original
|
||||
order with respect to all views; it is logarithmic otherwise.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
Iterator and reference validity are preserved.
|
||||
</li>
|
||||
<li>
|
||||
<li class="listitem">
|
||||
The operation is strongly exception-safe, i.e. the <code class="computeroutput"><span class="identifier">bimap</span></code>
|
||||
remains unchanged if some exception (originated by the system or the
|
||||
user's data types) is thrown.
|
||||
@@ -215,8 +213,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
<span class="identifier">bm</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="string">"one"</span><span class="special">)</span> <span class="special">);</span>
|
||||
|
||||
@@ -239,7 +236,7 @@
|
||||
|
||||
<span class="keyword">bool</span> <span class="identifier">successful_modify</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">modify_data</span><span class="special">(</span> <span class="identifier">it</span><span class="special">,</span> <span class="identifier">_data</span> <span class="special">=</span> <span class="string">"two"</span> <span class="special">);</span>
|
||||
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap10co" href="useful_functions.html#boost_bimap10"><img src="../../images/callouts/1.png" alt="1" border="0"></a></span><span class="identifier">assert</span><span class="special">(</span> <span class="special">!</span> <span class="identifier">successful_modify</span> <span class="special">);</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap10co" href="useful_functions.html#boost_bimap10"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a></span><span class="identifier">assert</span><span class="special">(</span> <span class="special">!</span> <span class="identifier">successful_modify</span> <span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
@@ -250,7 +247,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<div class="calloutlist"><table border="0" summary="Callout list"><tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap10"></a><a href="#boost_bimap10co"><img src="../../images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap10"></a><a href="#boost_bimap10co"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> <code class="computeroutput"><span class="identifier">it</span></code> is not longer valid
|
||||
and <code class="computeroutput"><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="string">"1"</span><span class="special">)</span></code> is removed from the bimap </p></td>
|
||||
</tr></table></div>
|
||||
@@ -259,7 +256,7 @@
|
||||
<p>
|
||||
</p>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Retrieval of ranges">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_bimap.the_tutorial.useful_functions.retrieval_of_ranges"></a><a class="link" href="useful_functions.html#boost_bimap.the_tutorial.useful_functions.retrieval_of_ranges" title="Retrieval of ranges">Retrieval
|
||||
of ranges</a>
|
||||
@@ -278,8 +275,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// ...
|
||||
@@ -303,8 +299,7 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_iterator</span> <span class="identifier">iter_first</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">upper_bound</span><span class="special">(</span><span class="number">20</span><span class="special">);</span>
|
||||
<pre class="programlisting"><span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_iterator</span> <span class="identifier">iter_first</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">upper_bound</span><span class="special">(</span><span class="number">20</span><span class="special">);</span>
|
||||
<span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_iterator</span> <span class="identifier">iter_second</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">lower_bound</span><span class="special">(</span><span class="number">50</span><span class="special">);</span>
|
||||
|
||||
<span class="comment">// range [iter_first,iter_second) contains the elements in (20,50)
|
||||
@@ -331,15 +326,14 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bimap</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="identifier">bm_type</span><span class="special">;</span>
|
||||
<span class="identifier">bm_type</span> <span class="identifier">bm</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// ...
|
||||
</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap11co" href="useful_functions.html#boost_bimap11"><img src="../../images/callouts/1.png" alt="1" border="0"></a></span><span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_range_type</span> <span class="identifier">r</span><span class="special">;</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap11co" href="useful_functions.html#boost_bimap11"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a></span><span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_range_type</span> <span class="identifier">r</span><span class="special">;</span>
|
||||
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap12co" href="useful_functions.html#boost_bimap12"><img src="../../images/callouts/2.png" alt="2" border="0"></a></span><span class="identifier">r</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">range</span><span class="special">(</span> <span class="number">20</span> <span class="special"><=</span> <span class="identifier">_key</span><span class="special">,</span> <span class="identifier">_key</span> <span class="special"><=</span> <span class="number">50</span> <span class="special">);</span> <span class="comment">// [20,50]
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap12co" href="useful_functions.html#boost_bimap12"><img src="../../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a></span><span class="identifier">r</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">range</span><span class="special">(</span> <span class="number">20</span> <span class="special"><=</span> <span class="identifier">_key</span><span class="special">,</span> <span class="identifier">_key</span> <span class="special"><=</span> <span class="number">50</span> <span class="special">);</span> <span class="comment">// [20,50]
|
||||
</span>
|
||||
<span class="identifier">r</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">range</span><span class="special">(</span> <span class="number">20</span> <span class="special"><</span> <span class="identifier">_key</span><span class="special">,</span> <span class="identifier">_key</span> <span class="special"><</span> <span class="number">50</span> <span class="special">);</span> <span class="comment">// (20,50)
|
||||
</span>
|
||||
@@ -353,13 +347,13 @@
|
||||
</p>
|
||||
<div class="calloutlist"><table border="0" summary="Callout list">
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap11"></a><a href="#boost_bimap11co"><img src="../../images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap11"></a><a href="#boost_bimap11co"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> <code class="computeroutput"><span class="identifier">range_type</span></code> is a handy
|
||||
typedef equal to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">iterator</span><span class="special">,</span><span class="identifier">iterator</span><span class="special">></span></code>. <code class="computeroutput"><span class="identifier">const_range_type</span></code>
|
||||
is provided too, and it is equal to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">const_iterator</span><span class="special">,</span><span class="identifier">const_iterator</span><span class="special">></span></code> </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap12"></a><a href="#boost_bimap12co"><img src="../../images/callouts/2.png" alt="2" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap12"></a><a href="#boost_bimap12co"><img src="../../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> _key is a Boost.Lambda placeholder.
|
||||
To use it you have to include <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bimap</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">lambda</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p></td>
|
||||
@@ -383,12 +377,11 @@
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">r</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">range</span><span class="special">(</span> <span class="number">20</span> <span class="special"><=</span> <span class="identifier">_key</span><span class="special">,</span> <span class="identifier">unbounded</span> <span class="special">);</span> <span class="comment">// [20,inf)
|
||||
<pre class="programlisting"><span class="identifier">r</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">range</span><span class="special">(</span> <span class="number">20</span> <span class="special"><=</span> <span class="identifier">_key</span><span class="special">,</span> <span class="identifier">unbounded</span> <span class="special">);</span> <span class="comment">// [20,inf)
|
||||
</span>
|
||||
<span class="identifier">r</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">range</span><span class="special">(</span> <span class="identifier">unbounded</span> <span class="special">,</span> <span class="identifier">_key</span> <span class="special"><</span> <span class="number">50</span> <span class="special">);</span> <span class="comment">// (-inf,50)
|
||||
</span>
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap13co" href="useful_functions.html#boost_bimap13"><img src="../../images/callouts/1.png" alt="1" border="0"></a></span><span class="identifier">r</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">range</span><span class="special">(</span> <span class="identifier">unbounded</span> <span class="special">,</span> <span class="identifier">unbounded</span> <span class="special">);</span> <span class="comment">// (-inf,inf)
|
||||
<span class="line_callout_bug"><a class="co" name="boost_bimap13co" href="useful_functions.html#boost_bimap13"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a></span><span class="identifier">r</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">range</span><span class="special">(</span> <span class="identifier">unbounded</span> <span class="special">,</span> <span class="identifier">unbounded</span> <span class="special">);</span> <span class="comment">// (-inf,inf)
|
||||
</span></pre>
|
||||
<p>
|
||||
</p>
|
||||
@@ -397,7 +390,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<div class="calloutlist"><table border="0" summary="Callout list"><tr>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap13"></a><a href="#boost_bimap13co"><img src="../../images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td width="5%" valign="top" align="left"><p><a name="boost_bimap13"></a><a href="#boost_bimap13co"><img src="../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
|
||||
<td valign="top" align="left"><p> This is equivalent to std::make_pair(s.begin(),s.end()) </p></td>
|
||||
</tr></table></div>
|
||||
<p>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Chapter 1. Boost.Bimap</title>
|
||||
<link rel="stylesheet" href="boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="index.html" title="Chapter 1. Boost.Bimap">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="index.html" title="Chapter 1. Boost.Bimap">
|
||||
<link rel="next" href="boost_bimap/introduction.html" title="Introduction">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@@ -12,13 +12,13 @@
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav"><a accesskey="n" href="boost_bimap/introduction.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
|
||||
<div class="chapter" lang="en">
|
||||
<div class="chapter" title="Chapter 1. Boost.Bimap">
|
||||
<div class="titlepage"><div>
|
||||
<div><h2 class="title">
|
||||
<a name="bimap"></a>Chapter 1. Boost.Bimap</h2></div>
|
||||
@@ -26,8 +26,8 @@
|
||||
<span class="firstname">Matias</span> <span class="surname">Capeletto</span>
|
||||
</h3></div></div>
|
||||
<div><p class="copyright">Copyright © 2006 -2007 Matias Capeletto</p></div>
|
||||
<div><div class="legalnotice">
|
||||
<a name="id2625900"></a><p>
|
||||
<div><div class="legalnotice" title="Legal Notice">
|
||||
<a name="id553942"></a><p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
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>)
|
||||
</p>
|
||||
@@ -115,12 +115,12 @@
|
||||
<dt><span class="section"><a href="boost_bimap/acknowledgements.html">Acknowledgements</a></span></dt>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="section" title="Preface">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="bimap.preface"></a><a class="link" href="index.html#bimap.preface" title="Preface">Preface</a>
|
||||
</h2></div></div></div>
|
||||
<a name="bimap.preface.description"></a><h4>
|
||||
<a name="id2625944"></a>
|
||||
<a name="id553973"></a>
|
||||
<a class="link" href="index.html#bimap.preface.description">Description</a>
|
||||
</h4>
|
||||
<p>
|
||||
@@ -137,7 +137,7 @@
|
||||
containers.
|
||||
</p>
|
||||
<a name="bimap.preface.influences_and_related_work"></a><h4>
|
||||
<a name="id2586415"></a>
|
||||
<a name="id554118"></a>
|
||||
<a class="link" href="index.html#bimap.preface.influences_and_related_work">Influences and Related
|
||||
Work</a>
|
||||
</h4>
|
||||
@@ -149,7 +149,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"><p><small>Last revised: March 15, 2008 at 13:59:41 GMT</small></p></td>
|
||||
<td align="left"><p><small>Last revised: November 20, 2009 at 09:43:59 GMT</small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
|
||||
Reference in New Issue
Block a user