Index: doc/Doxyfile.in
===================================================================
 doc/Doxyfile.in (revision 316)
+++ doc/Doxyfile.in (revision 299)
@@ 1,3 +1,3 @@
# Doxyfile 1.5.7.1
+# Doxyfile 1.5.5
#
@@ 34,9 +34,7 @@
CPP_CLI_SUPPORT = NO
SIP_SUPPORT = NO
IDL_PROPERTY_SUPPORT = YES
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
TYPEDEF_HIDES_STRUCT = NO
SYMBOL_CACHE_SIZE = 0
#
# Build related configuration options
@@ 69,8 +67,5 @@
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = YES
SHOW_FILES = YES
SHOW_NAMESPACES = YES
FILE_VERSION_FILTER =
LAYOUT_FILE = DoxygenLayout.xml
#
# configuration options related to warning and progress messages
@@ 81,5 +76,5 @@
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
+WARN_FORMAT = "$file:$line: $text "
WARN_LOGFILE = doxygen.log
#
@@ 139,25 +134,18 @@
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
HTML_DYNAMIC_SECTIONS = NO
+GENERATE_HTMLHELP = NO
GENERATE_DOCSET = NO
DOCSET_FEEDNAME = "Doxygen generated docs"
DOCSET_BUNDLE_ID = org.doxygen.Project
GENERATE_HTMLHELP = NO
+HTML_DYNAMIC_SECTIONS = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
CHM_INDEX_ENCODING =
BINARY_TOC = NO
TOC_EXPAND = NO
GENERATE_QHP = NO
QCH_FILE =
QHP_NAMESPACE = org.doxygen.Project
QHP_VIRTUAL_FOLDER = doc
QHG_LOCATION =
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
FORMULA_FONTSIZE = 10
#
# configuration options related to the LaTeX output
@@ 238,7 +226,4 @@
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
DOT_FONTNAME = FreeSans
DOT_FONTSIZE = 10
DOT_FONTPATH =
CLASS_GRAPH = YES
COLLABORATION_GRAPH = NO
Index: doc/DoxygenLayout.xml
===================================================================
 doc/DoxygenLayout.xml (revision 316)
+++ (revision )
@@ 1,182 +1,0 @@






















































































































































































Index: doc/Makefile.am
===================================================================
 doc/Makefile.am (revision 317)
+++ doc/Makefile.am (revision 270)
@@ 1,5 +1,4 @@
EXTRA_DIST += \
doc/Doxyfile.in \
 doc/DoxygenLayout.xml \
doc/coding_style.dox \
doc/dirs.dox \
@@ 8,5 +7,4 @@
doc/license.dox \
doc/mainpage.dox \
 doc/migration.dox \
doc/namedparam.dox \
doc/namespaces.dox \
Index: doc/dirs.dox
===================================================================
 doc/dirs.dox (revision 318)
+++ doc/dirs.dox (revision 209)
@@ 19,7 +19,7 @@
/**
\dir demo
\brief A collection of demo applications.
+\brief A collection of demo application.
This directory contains several simple demo applications, mainly
+This directory contains several simple demo application, mainly
for educational purposes.
*/
@@ 29,6 +29,5 @@
\brief Auxiliary (and the whole generated) documentation.
This directory contains some auxiliary pages and the whole generated
documentation.
+Auxiliary (and the whole generated) documentation.
*/
@@ 43,14 +42,17 @@
/**
\dir tools
\brief Some useful executables.
+\brief Some useful executables
This directory contains the sources of some useful complete executables.
+
*/
+
+
/**
\dir lemon
\brief Base include directory of LEMON.
+\brief Base include directory of LEMON
This is the base directory of LEMON includes, so each include file must be
+This is the base directory of lemon includes, so each include file must be
prefixed with this, e.g.
\code
@@ 62,16 +64,16 @@
/**
\dir concepts
\brief Concept descriptors and checking classes.
+\brief Concept descriptors and checking classes
This directory contains the concept descriptors and concept checking tools.
For more information see the \ref concept "Concepts" module.
+This directory contains the concept descriptors and concept checkers. As a user
+you typically don't have to deal with these files.
*/
/**
\dir bits
\brief Auxiliary tools for implementation.
+\brief Implementation helper files
This directory contains some auxiliary classes for implementing graphs,
maps and some other classes.
As a user you typically don't have to deal with these files.
+This directory contains some helper classes to implement graphs, maps and
+some other classes. As a user you typically don't have to deal with these
+files.
*/
Index: doc/groups.dox
===================================================================
 doc/groups.dox (revision 318)
+++ doc/groups.dox (revision 325)
@@ 41,31 +41,7 @@
some graph features like arc/edge or node deletion.
Alteration of standard containers need a very limited number of
operations, these together satisfy the everyday requirements.
In the case of graph structures, different operations are needed which do
not alter the physical graph, but gives another view. If some nodes or
arcs have to be hidden or the reverse oriented graph have to be used, then
this is the case. It also may happen that in a flow implementation
the residual graph can be accessed by another algorithm, or a nodeset
is to be shrunk for another algorithm.
LEMON also provides a variety of graphs for these requirements called
\ref graph_adaptors "graph adaptors". Adaptors cannot be used alone but only
in conjunction with other graph representations.

You are free to use the graph structure that fit your requirements
the best, most graph algorithms and auxiliary data structures can be used
with any graph structure.

See also: \ref graph_concepts "Graph Structure Concepts".
*/

/**
@defgroup semi_adaptors SemiAdaptor Classes for Graphs
@ingroup graphs
\brief Graph types between real graphs and graph adaptors.

This group describes some graph types between real graphs and graph adaptors.
These classes wrap graphs to give new functionality as the adaptors do it.
On the other hand they are not lightweight structures as the adaptors.
+with any graph structures.
*/
@@ 77,8 +53,6 @@
This group describes the map structures implemented in LEMON.
LEMON provides several special purpose maps and map adaptors that e.g. combine
+LEMON provides several special purpose maps that e.g. combine
new maps from existing ones.

See also: \ref map_concepts "Map Concepts".
*/
@@ 91,4 +65,5 @@
values to the nodes and arcs of graphs.
*/
+
/**
@@ 108,5 +83,5 @@
algorithms. If a function type algorithm is called then the function
type map adaptors can be used comfortable. For example let's see the
usage of map adaptors with the \c graphToEps() function.
+usage of map adaptors with the \c digraphToEps() function.
\code
Color nodeColor(int deg) {
@@ 122,5 +97,5 @@
Digraph::NodeMap degree_map(graph);
 graphToEps(graph, "graph.eps")
+ digraphToEps(graph, "graph.eps")
.coords(coords).scaleToA4().undirected()
.nodeColors(composeMap(functorToMap(nodeColor), degree_map))
@@ 128,5 +103,5 @@
\endcode
The \c functorToMap() function makes an \c int to \c Color map from the
\c nodeColor() function. The \c composeMap() compose the \c degree_map
+\e nodeColor() function. The \c composeMap() compose the \e degree_map
and the previously created map. The composed map is a proper function to
get the color of each node.
@@ 156,15 +131,7 @@
/**
@defgroup matrices Matrices
@ingroup datas
\brief Two dimensional data storages implemented in LEMON.

This group describes two dimensional data storages implemented in LEMON.
*/

/**
@defgroup paths Path Structures
@ingroup datas
\brief %Path structures implemented in LEMON.
+\brief Path structures implemented in LEMON.
This group describes the path structures implemented in LEMON.
@@ 177,4 +144,5 @@
\sa lemon::concepts::Path
+
*/
@@ 188,4 +156,5 @@
*/
+
/**
@defgroup algs Algorithms
@@ 203,9 +172,9 @@
This group describes the common graph search algorithms like
BreadthFirst Search (BFS) and DepthFirst Search (DFS).
*/

/**
@defgroup shortest_path Shortest Path Algorithms
+Breadthfirst search (Bfs) and Depthfirst search (Dfs).
+*/
+
+/**
+@defgroup shortest_path Shortest Path algorithms
@ingroup algs
\brief Algorithms for finding shortest paths.
@@ 215,141 +184,5 @@
/**
@defgroup max_flow Maximum Flow Algorithms
@ingroup algs
\brief Algorithms for finding maximum flows.

This group describes the algorithms for finding maximum flows and
feasible circulations.

The maximum flow problem is to find a flow between a single source and
a single target that is maximum. Formally, there is a \f$G=(V,A)\f$
directed graph, an \f$c_a:A\rightarrow\mathbf{R}^+_0\f$ capacity
function and given \f$s, t \in V\f$ source and target node. The
maximum flow is the \f$f_a\f$ solution of the next optimization problem:

\f[ 0 \le f_a \le c_a \f]
\f[ \sum_{v\in\delta^{}(u)}f_{vu}=\sum_{v\in\delta^{+}(u)}f_{uv}
\qquad \forall u \in V \setminus \{s,t\}\f]
\f[ \max \sum_{v\in\delta^{+}(s)}f_{uv}  \sum_{v\in\delta^{}(s)}f_{vu}\f]

LEMON contains several algorithms for solving maximum flow problems:
 \ref lemon::EdmondsKarp "EdmondsKarp"
 \ref lemon::Preflow "Goldberg's Preflow algorithm"
 \ref lemon::DinitzSleatorTarjan "Dinitz's blocking flow algorithm with dynamic trees"
 \ref lemon::GoldbergTarjan "Preflow algorithm with dynamic trees"

In most cases the \ref lemon::Preflow "Preflow" algorithm provides the
fastest method to compute the maximum flow. All impelementations
provides functions to query the minimum cut, which is the dual linear
programming problem of the maximum flow.
*/

/**
@defgroup min_cost_flow Minimum Cost Flow Algorithms
@ingroup algs

\brief Algorithms for finding minimum cost flows and circulations.

This group describes the algorithms for finding minimum cost flows and
circulations.
*/

/**
@defgroup min_cut Minimum Cut Algorithms
@ingroup algs

\brief Algorithms for finding minimum cut in graphs.

This group describes the algorithms for finding minimum cut in graphs.

The minimum cut problem is to find a nonempty and noncomplete
\f$X\f$ subset of the vertices with minimum overall capacity on
outgoing arcs. Formally, there is \f$G=(V,A)\f$ directed graph, an
\f$c_a:A\rightarrow\mathbf{R}^+_0\f$ capacity function. The minimum
cut is the \f$X\f$ solution of the next optimization problem:

\f[ \min_{X \subset V, X\not\in \{\emptyset, V\}}
\sum_{uv\in A, u\in X, v\not\in X}c_{uv}\f]

LEMON contains several algorithms related to minimum cut problems:

 \ref lemon::HaoOrlin "HaoOrlin algorithm" to calculate minimum cut
 in directed graphs
 \ref lemon::NagamochiIbaraki "NagamochiIbaraki algorithm" to
 calculate minimum cut in undirected graphs
 \ref lemon::GomoryHuTree "GomoryHu tree computation" to calculate all
 pairs minimum cut in undirected graphs

If you want to find minimum cut just between two distinict nodes,
please see the \ref max_flow "Maximum Flow page".
*/

/**
@defgroup graph_prop Connectivity and Other Graph Properties
@ingroup algs
\brief Algorithms for discovering the graph properties

This group describes the algorithms for discovering the graph properties
like connectivity, bipartiteness, euler property, simplicity etc.

\image html edge_biconnected_components.png
\image latex edge_biconnected_components.eps "biedgeconnected components" width=\textwidth
*/

/**
@defgroup planar Planarity Embedding and Drawing
@ingroup algs
\brief Algorithms for planarity checking, embedding and drawing

This group describes the algorithms for planarity checking,
embedding and drawing.

\image html planar.png
\image latex planar.eps "Plane graph" width=\textwidth
*/

/**
@defgroup matching Matching Algorithms
@ingroup algs
\brief Algorithms for finding matchings in graphs and bipartite graphs.

This group contains algorithm objects and functions to calculate
matchings in graphs and bipartite graphs. The general matching problem is
finding a subset of the arcs which does not shares common endpoints.

There are several different algorithms for calculate matchings in
graphs. The matching problems in bipartite graphs are generally
easier than in general graphs. The goal of the matching optimization
can be the finding maximum cardinality, maximum weight or minimum cost
matching. The search can be constrained to find perfect or
maximum cardinality matching.

LEMON contains the next algorithms:
 \ref lemon::MaxBipartiteMatching "MaxBipartiteMatching" HopcroftKarp
 augmenting path algorithm for calculate maximum cardinality matching in
 bipartite graphs
 \ref lemon::PrBipartiteMatching "PrBipartiteMatching" PushRelabel
 algorithm for calculate maximum cardinality matching in bipartite graphs
 \ref lemon::MaxWeightedBipartiteMatching "MaxWeightedBipartiteMatching"
 Successive shortest path algorithm for calculate maximum weighted matching
 and maximum weighted bipartite matching in bipartite graph
 \ref lemon::MinCostMaxBipartiteMatching "MinCostMaxBipartiteMatching"
 Successive shortest path algorithm for calculate minimum cost maximum
 matching in bipartite graph
 \ref lemon::MaxMatching "MaxMatching" Edmond's blossom shrinking algorithm
 for calculate maximum cardinality matching in general graph
 \ref lemon::MaxWeightedMatching "MaxWeightedMatching" Edmond's blossom
 shrinking algorithm for calculate maximum weighted matching in general
 graph
 \ref lemon::MaxWeightedPerfectMatching "MaxWeightedPerfectMatching"
 Edmond's blossom shrinking algorithm for calculate maximum weighted
 perfect matching in general graph

\image html bipartite_matching.png
\image latex bipartite_matching.eps "Bipartite Matching" width=\textwidth
*/

/**
@defgroup spantree Minimum Spanning Tree Algorithms
+@defgroup spantree Minimum Spanning Tree algorithms
@ingroup algs
\brief Algorithms for finding a minimum cost spanning tree in a graph.
@@ 357,58 +190,4 @@
This group describes the algorithms for finding a minimum cost spanning
tree in a graph
*/

/**
@defgroup auxalg Auxiliary Algorithms
@ingroup algs
\brief Auxiliary algorithms implemented in LEMON.

This group describes some algorithms implemented in LEMON
in order to make it easier to implement complex algorithms.
*/

/**
@defgroup approx Approximation Algorithms
@ingroup algs
\brief Approximation algorithms.

This group describes the approximation and heuristic algorithms
implemented in LEMON.
*/

/**
@defgroup gen_opt_group General Optimization Tools
\brief This group describes some general optimization frameworks
implemented in LEMON.

This group describes some general optimization frameworks
implemented in LEMON.
*/

/**
@defgroup lp_group Lp and Mip Solvers
@ingroup gen_opt_group
\brief Lp and Mip solver interfaces for LEMON.

This group describes Lp and Mip solver interfaces for LEMON. The
various LP solvers could be used in the same manner with this
interface.
*/

/**
@defgroup lp_utils Tools for Lp and Mip Solvers
@ingroup lp_group
\brief Helper tools to the Lp and Mip solvers.

This group adds some helper tools to general optimization framework
implemented in LEMON.
*/

/**
@defgroup metah Metaheuristics
@ingroup gen_opt_group
\brief Metaheuristics for LEMON library.

This group describes some metaheuristic optimization tools.
*/
@@ 438,5 +217,5 @@
/**
@defgroup timecount Time Measuring and Counting
+@defgroup timecount Time measuring and Counting
@ingroup misc
\brief Simple tools for measuring the performance of algorithms.
@@ 459,7 +238,6 @@
This group describes the tools for importing and exporting graphs
and graph related data. Now it supports the \ref lgfformat
"LEMON Graph Format", the \c DIMACS format and the encapsulated
postscript (EPS) format.
+and graph related data. Now it supports the LEMON format
+and the encapsulated postscript (EPS) format.
*/
@@ 467,5 +245,5 @@
@defgroup lemon_io LEMON InputOutput
@ingroup io_group
\brief Reading and writing LEMON Graph Format.
+\brief Reading and writing \ref lgfformat "LEMON Graph Format".
This group describes methods for reading and writing
@@ 474,5 +252,5 @@
/**
@defgroup eps_io Postscript Exporting
+@defgroup eps_io Postscript exporting
@ingroup io_group
\brief General \c EPS drawer and graph exporter
@@ 482,4 +260,5 @@
*/
+
/**
@defgroup concept Concepts
@@ 491,10 +270,10 @@
The purpose of the classes in this group is fourfold.
 These classes contain the documentations of the %concepts. In order
+ These classes contain the documentations of the concepts. In order
to avoid document multiplications, an implementation of a concept
simply refers to the corresponding concept class.
 These classes declare every functions, typedefs etc. an
 implementation of the %concepts should provide, however completely
+ implementation of the concepts should provide, however completely
without implementations and real data structures behind the
interface. On the other hand they should provide nothing else. All
@@ 509,5 +288,7 @@
 Finally, They can serve as a skeleton of a new implementation of a concept.
*/
+
+*/
+
/**
@@ 521,12 +302,4 @@
/**
@defgroup map_concepts Map Concepts
@ingroup concept
\brief Skeleton and concept checking classes for maps

This group describes the skeletons and concept checking classes of maps.
*/

/**
\anchor demoprograms
@@ 539,12 +312,2 @@
build the library.
*/

/**
@defgroup tools Standalone utility applications

Some utility applications are listed here.

The standard compilation procedure (./configure;make) will compile
them, as well.
*/

Index: doc/lgf.dox
===================================================================
 doc/lgf.dox (revision 313)
+++ doc/lgf.dox (revision 236)
@@ 79,5 +79,5 @@
\endcode
The \c \@edges is just a synonym of \c \@arcs. The \@arcs section can
+The \c \@edges is just a synonym of \c \@arcs. The @arcs section can
also store the edge set of an undirected graph. In such case there is
a conventional method for store arc maps in the file, if two columns
Index: doc/mainpage.dox
===================================================================
 doc/mainpage.dox (revision 314)
+++ doc/mainpage.dox (revision 325)
@@ 42,14 +42,7 @@
\subsection howtoread How to read the documentation
If you want to get a quick start and see the most important features then
take a look at our \ref quicktour
"Quick Tour to LEMON" which will guide you along.

If you already feel like using our library, see the page that tells you
\ref getstart "How to start using LEMON".

If you
want to see how LEMON works, see
some \ref demoprograms "demo programs".
+some \ref demoprograms "demo programs"!
If you know what you are looking for then try to find it under the
@@ 57,5 +50,4 @@
section.
If you are a user of the old (0.x) series of LEMON, please check out the
\ref migration "Migration Guide" for the backward incompatibilities.
+
*/
Index: doc/migration.dox
===================================================================
 doc/migration.dox (revision 314)
+++ (revision )
@@ 1,143 +1,0 @@
/* * mode: C++; indenttabsmode: nil; *
 *
 * This file is a part of LEMON, a generic C++ optimization library.
 *
 * Copyright (C) 20032008
 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
 * (Egervary Research Group on Combinatorial Optimization, EGRES).
 *
 * Permission to use, modify and distribute this software is granted
 * provided that this copyright notice appears in all copies. For
 * precise terms see the accompanying LICENSE file.
 *
 * This software is provided "AS IS" with no warranty of any kind,
 * express or implied, and with no claim as to its suitability for any
 * purpose.
 *
 */

namespace lemon {
/*!

\page migration Migration from the 0.x Series

This guide gives an in depth description on what has changed compared
to the 0.x release series.

Many of these changes adjusted automatically by the
script/lemon0.xto1.x.sh tool. Those requiring manual
update are typeset boldface.

\section migrationgraph Graph Related Name Changes

 \ref concepts::Digraph "Directed graphs" are called \c Digraph and
 they have Arcs (instead of Edges), while
 \ref concepts::Graph "undirected graphs" are called \c Graph
 (instead of \c UGraph) and they have Edges (instead of
 UEdges). These changes reflected thoroughly everywhere in
 the library. Namely,
  \c Graph > \c Digraph
  \c %ListGraph > \c ListDigraph, \c %SmartGraph > \c SmartDigraph etc.
  \c UGraph > \c Graph
  \c ListUGraph > \c ListGraph, \c SmartUGraph > \c SmartGraph etc.
  \c Edge > \c Arc, \c UEdge > \c Edge
  \c EdgeMap > \c ArcMap, \c UEdgeMap > \c EdgeMap
  \c EdgeIt > \c ArcIt, \c UEdgeIt > \c EdgeIt
  Class names and function names containing the words \c graph,
 \c ugraph, \e edge or \e arc should also be updated.
 The two endpoints of an (\e undirected) \c Edge can be obtained by the
 u() and v() member function of the graph
 (instead of source() and target()). This change
 must be done by hand.
 \n Of course, you can still use source() and target()
 for Arcs (directed edges).

\warning
The script/lemon0.xto1.x.sh tool replaces all instances of
the words \c graph, \c digraph, \c edge and \c arc, so it replaces them
in strings, comments etc. as well as in all identifiers.

\section migrationlgf LGF tools
  The \ref lgfformat "LGF file format" has changed,
 \@nodeset has changed to \@nodes,
 \@edgeset and \@uedgeset to \@arcs or
 \@edges, which become completely equivalents. The
 \@nodes, \@edges and \@uedges sections are
 removed from the format, the content of them should be
 the part of \@attributes section. The data fields in
 the sections must follow a strict format, they must be either character
 sequences without whitespaces or quoted strings.
  The LemonReader and LemonWriter core interfaces
 are no longer available.
  The implementation of the general section readers and writers has changed
 they are simple functors now. Beside the old
 stream based section handling, currently line oriented section
 reading and writing are also supported. In the
 section readers the lines must be counted manually. The sections
 should be read and written with the SectionWriter and SectionReader
 classes.
  Instead of the item readers and writers, item converters should be
 used. The converters are functors, which map the type to
 std::string or std::string to the type. The converters for standard
 containers hasn't yet been implemented in the new LEMON. The converters
 can return strings in any format, because if it is necessary, the LGF
 writer and reader will quote and unquote the given value.
  The DigraphReader and DigraphWriter can used similarly to the
 0.x series, however the read or write prefix of
 the member functions are removed.
  The new LEMON supports the function like interface, the \c
 digraphReader and \c digraphWriter functions are more convenient than
 using the classes directly.

\section migrationsearch BFS, DFS and Dijkstra
 Using the function interface of BFS, DFS and %Dijkstra both source and
 target nodes can be given as parameters of the run() function
 (instead of \c bfs(), \c dfs() or \c dijkstra() itself).
 \ref namedtemplparam "Named class template parameters" of \c Bfs,
 \c Dfs, \c Dijkstra, \c BfsVisit, \c DfsVisit are renamed to start
 with "Set" instead of "Def". Namely,
  \c DefPredMap > \c SetPredMap
  \c DefDistMap > \c SetDistMap
  \c DefReachedMap > \c SetReachedMap
  \c DefProcessedMap > \c SetProcessedMap
  \c DefHeap > \c SetHeap
  \c DefStandardHeap > \c SetStandardHeap
  \c DefOperationTraits > \c SetOperationTraits
  \c DefProcessedMapToBeDefaultMap > \c SetStandardProcessedMap

\section migrationerror Exceptions and Debug tools

The class hierarchy of exceptions has largely been simplified. Now,
only the i/o related tools may throw exceptions. All other exceptions
have been replaced with either the \c LEMON_ASSERT or the \c LEMON_DEBUG
macros.

On the other hand, the parameter order of constructors of the
exceptions has been changed. See \ref IoError and \ref FormatError for
more details.

\section migrationother Others
 The contents of graph_utils.h are moved to core.h
 and maps.h. core.h is included by all graph types,
 therefore it usually do not have to be included directly.
 path_utils.h is merged to \c path.h.
 The semantic of the assignment operations and copy constructors of maps
 are still under discussion. So, you must copy them by hand (i.e. copy
 each entry onebyone)
 The parameters of the graph copying tools (i.e. \c GraphCopy,
 \c DigraphCopy) have to be given in the fromto order.
 \c copyDigraph() and \c copyGraph() are renamed to \c digraphCopy()
 and \c graphCopy(), respectively.
 The interface of \ref DynArcLookUp has changed. It is now the same as
 of \ref ArcLookUp and \ref AllArcLookUp
 Some map types should also been renamed. Namely,
  \c IntegerMap > \c RangeMap
  \c StdMap > \c SparseMap
  \c FunctorMap > \c FunctorToMap
  \c MapFunctor > \c MapToFunctor
  \c ForkWriteMap > \c ForkMap
  \c StoreBoolMap > \c LoggerBoolMap
 \c dim2::BoundingBox > \c dim2::Box

*/
}