...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Copyright © 2006-2012 Matias Capeletto
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Table of Contents
Boost.Bimap is a bidirectional maps library for C++. With Boost.Bimap you can
create associative containers in which both types can be used as key. A bimap<X,Y>
can be thought of as a combination of a
std::map<X,Y>
and a std::map<Y,X>
.
The learning curve of bimap is almost flat if you know how to use standard
containers. A great deal of effort has been put into mapping the naming scheme
of the STL in Boost.Bimap. The library is designed to match the common STL
containers.
The design of Boost.Bimap interface follows the standard template library. It has been strongly influenced by Joaquin Lopez Muñoz's Boost.MultiIndex library (the heart of bimaps) and codeproject::bimap library.