diff -r b387504959a2 -r 7733d18de0e8 src/work/deba/map_defines.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/work/deba/map_defines.h Fri Jun 04 11:52:53 2004 +0000 @@ -0,0 +1,47 @@ +#ifndef MAP_DEFINES_H +#define MAP_DEFINES_H + +#define CREATE_EDGE_MAP_REGISTRY \ +typedef MapRegistry EdgeMapRegistry; \ +EdgeMapRegistry edge_maps; + +#define CREATE_NODE_MAP_REGISTRY \ +typedef MapRegistry NodeMapRegistry; \ +NodeMapRegistry node_maps; + +#define CREATE_MAP_REGISTRIES \ +CREATE_NODE_MAP_REGISTRY \ +CREATE_EDGE_MAP_REGISTRY + +#define CREATE_NODE_MAP_FACTORY(TemplateFactory) \ +typedef TemplateFactory NodeMapFactory; + +#define CREATE_EDGE_MAP_FACTORY(TemplateFactory) \ +typedef TemplateFactory EdgeMapFactory; + +#define CREATE_MAP_FACTORIES(TemplateFactory) \ +CREATE_NODE_MAP_FACTORY(TemplateFactory) \ +CREATE_EDGE_MAP_FACTORY(TemplateFactory) + +#define IMPORT_NODE_MAP(Factory) \ +template \ +class NodeMap : public Factory::Map { \ +public: \ +NodeMap() {} \ +NodeMap(Graph& g) : Factory::Map(g, g.node_maps) {} \ +}; + +#define IMPORT_EDGE_MAP(Factory) \ +template \ +class EdgeMap : public Factory::Map { \ +public: \ +EdgeMap() {} \ +EdgeMap(Graph& g) : Factory::Map(g, g.edge_maps) {} \ +}; + +#define CREATE_MAPS(TemplateFactory) \ +CREATE_MAP_FACTORIES(TemplateFactory) \ +IMPORT_NODE_MAP(NodeMapFactory) \ +IMPORT_EDGE_MAP(EdgeMapFactory) + +#endif