| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> |
| <title>The tutorial</title> |
| <link rel="stylesheet" href="../boostbook.css" type="text/css"> |
| <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"> |
| </head> |
| <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> |
| <table cellpadding="2" width="100%"><tr> |
| <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="../../../../../libs/libraries.htm">Libraries</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/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="the_tutorial/discovering_the_bimap_framework.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> |
| </div> |
| <div class="section"> |
| <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> |
| <div class="toc"><dl> |
| <dt><span class="section"><a href="the_tutorial.html#boost_bimap.the_tutorial.roadmap">Roadmap</a></span></dt> |
| <dt><span class="section"><a href="the_tutorial/discovering_the_bimap_framework.html">Discovering |
| the bimap framework</a></span></dt> |
| <dd><dl> |
| <dt><span class="section"><a href="the_tutorial/discovering_the_bimap_framework.html#boost_bimap.the_tutorial.discovering_the_bimap_framework.interpreting_bidirectional_maps">Interpreting |
| bidirectional maps</a></span></dt> |
| <dt><span class="section"><a href="the_tutorial/discovering_the_bimap_framework.html#boost_bimap.the_tutorial.discovering_the_bimap_framework.standard_mapping_framework">Standard |
| mapping framework</a></span></dt> |
| <dt><span class="section"><a href="the_tutorial/discovering_the_bimap_framework.html#boost_bimap.the_tutorial.discovering_the_bimap_framework.bimap_mapping_framework">Bimap |
| mapping framework</a></span></dt> |
| </dl></dd> |
| <dt><span class="section"><a href="the_tutorial/controlling_collection_types.html">Controlling |
| collection types</a></span></dt> |
| <dd><dl> |
| <dt><span class="section"><a href="the_tutorial/controlling_collection_types.html#boost_bimap.the_tutorial.controlling_collection_types.freedom_of_choice">Freedom |
| of choice</a></span></dt> |
| <dt><span class="section"><a href="the_tutorial/controlling_collection_types.html#boost_bimap.the_tutorial.controlling_collection_types.configuration_parameters">Configuration |
| parameters</a></span></dt> |
| <dt><span class="section"><a href="the_tutorial/controlling_collection_types.html#boost_bimap.the_tutorial.controlling_collection_types.examples">Examples</a></span></dt> |
| </dl></dd> |
| <dt><span class="section"><a href="the_tutorial/the_collection_of_relations_type.html">The |
| collection of relations type</a></span></dt> |
| <dd><dl> |
| <dt><span class="section"><a href="the_tutorial/the_collection_of_relations_type.html#boost_bimap.the_tutorial.the_collection_of_relations_type.a_new_point_of_view">A |
| new point of view</a></span></dt> |
| <dt><span class="section"><a href="the_tutorial/the_collection_of_relations_type.html#boost_bimap.the_tutorial.the_collection_of_relations_type.configuration_parameters">Configuration |
| parameters</a></span></dt> |
| <dt><span class="section"><a href="the_tutorial/the_collection_of_relations_type.html#boost_bimap.the_tutorial.the_collection_of_relations_type.examples">Examples</a></span></dt> |
| </dl></dd> |
| <dt><span class="section"><a href="the_tutorial/differences_with_standard_maps.html">Differences |
| with standard maps</a></span></dt> |
| <dd><dl> |
| <dt><span class="section"><a href="the_tutorial/differences_with_standard_maps.html#boost_bimap.the_tutorial.differences_with_standard_maps.insertion">Insertion</a></span></dt> |
| <dt><span class="section"><a href="the_tutorial/differences_with_standard_maps.html#boost_bimap.the_tutorial.differences_with_standard_maps.iterator__value_type">iterator::value_type</a></span></dt> |
| <dt><span class="section"><a href="the_tutorial/differences_with_standard_maps.html#boost_bimap.the_tutorial.differences_with_standard_maps.operator_____and_at__">operator[] |
| and at()</a></span></dt> |
| <dt><span class="section"><a href="the_tutorial/differences_with_standard_maps.html#boost_bimap.the_tutorial.differences_with_standard_maps.complexity_of_operations">Complexity |
| of operations</a></span></dt> |
| </dl></dd> |
| <dt><span class="section"><a href="the_tutorial/useful_functions.html">Useful functions</a></span></dt> |
| <dd><dl> |
| <dt><span class="section"><a href="the_tutorial/useful_functions.html#boost_bimap.the_tutorial.useful_functions.projection_of_iterators">Projection |
| of iterators</a></span></dt> |
| <dt><span class="section"><a href="the_tutorial/useful_functions.html#boost_bimap.the_tutorial.useful_functions.replace_and_modify">replace |
| and modify</a></span></dt> |
| <dt><span class="section"><a href="the_tutorial/useful_functions.html#boost_bimap.the_tutorial.useful_functions.retrieval_of_ranges">Retrieval |
| of ranges</a></span></dt> |
| </dl></dd> |
| <dt><span class="section"><a href="the_tutorial/bimaps_with_user_defined_names.html">Bimaps |
| with user defined names</a></span></dt> |
| <dt><span class="section"><a href="the_tutorial/unconstrained_sets.html">Unconstrained |
| Sets</a></span></dt> |
| <dt><span class="section"><a href="the_tutorial/additional_information.html">Additional |
| information</a></span></dt> |
| <dt><span class="section"><a href="the_tutorial/complete_instantiation_scheme.html">Complete |
| instantiation scheme</a></span></dt> |
| </dl></div> |
| <div class="section"> |
| <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 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 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, |
| hashed bidirectional containers and others that may be more suitable |
| to the the task at hand. The second section (<a class="link" href="the_tutorial/controlling_collection_types.html" title="Controlling collection types">Controlling |
| collection types</a>) explains how to instantiate a bimap with different |
| collection constraints. |
| </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 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 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 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 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 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 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. |
| </li> |
| </ol></div> |
| </div> |
| </div> |
| <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> |
| <td align="left"></td> |
| <td align="right"><div class="copyright-footer">Copyright © 2006 -2007 Matias Capeletto<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> |
| </div></td> |
| </tr></table> |
| <hr> |
| <div class="spirit-nav"> |
| <a accesskey="p" href="one_minute_tutorial.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="the_tutorial/discovering_the_bimap_framework.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> |
| </div> |
| </body> |
| </html> |