<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>