...one of the most highly
regarded and expertly designed C++ library projects in the
world. — Herb Sutter and Andrei
The icl is about sets and maps and a useful implementation of sets and maps using intervals. In the documentation of the icl the different set and map types are grouped in various ways. In order to distinguish those groups we use a naming convention.
Names of concepts start with a capital letter. So
Map stand for the concept
of a set and a map as defined in the icl.
When we talk about
Maps though, most of the
time we do not not talk about the concepts themselves but the set of types
that implement those concepts in the icl.
The main groups, icl containers
can be divided in, are summarized in the next table:
split_interval_setare models of concept
split_interval_mapare models of concept
Mapswe abstract from the way they are implemented.
std::setis a model of the icl's
std::mapis not a model of the icl's
icl::mapto avoid confusion with