My notes.
Sources of information and software packages which could be interesting wrt
HUGO.
4 #define CREATE_EDGE_MAP_REGISTRY \
5 typedef MapRegistry<Graph, Edge, EdgeIt> EdgeMapRegistry; \
6 EdgeMapRegistry edge_maps;
8 #define CREATE_NODE_MAP_REGISTRY \
9 typedef MapRegistry<Graph, Node, NodeIt> NodeMapRegistry; \
10 NodeMapRegistry node_maps;
12 #define CREATE_MAP_REGISTRIES \
13 CREATE_NODE_MAP_REGISTRY \
14 CREATE_EDGE_MAP_REGISTRY
16 #define CREATE_NODE_MAP_FACTORY(TemplateFactory) \
17 typedef TemplateFactory<NodeMapRegistry> NodeMapFactory;
19 #define CREATE_EDGE_MAP_FACTORY(TemplateFactory) \
20 typedef TemplateFactory<EdgeMapRegistry> EdgeMapFactory;
22 #define CREATE_MAP_FACTORIES(TemplateFactory) \
23 CREATE_NODE_MAP_FACTORY(TemplateFactory) \
24 CREATE_EDGE_MAP_FACTORY(TemplateFactory)
26 #define IMPORT_NODE_MAP(Factory) \
27 template <typename V> \
28 class NodeMap : public Factory::Map<V> { \
31 NodeMap(Graph& g) : Factory::Map<V>(g, g.node_maps) {} \
34 #define IMPORT_EDGE_MAP(Factory) \
35 template <typename V> \
36 class EdgeMap : public Factory::Map<V> { \
39 EdgeMap(Graph& g) : Factory::Map<V>(g, g.edge_maps) {} \
42 #define CREATE_MAPS(TemplateFactory) \
43 CREATE_MAP_FACTORIES(TemplateFactory) \
44 IMPORT_NODE_MAP(NodeMapFactory) \
45 IMPORT_EDGE_MAP(EdgeMapFactory)