COIN-OR::LEMON - Graph Library

Opened 15 years ago

Last modified 8 years ago

#224 new enhancement

Static graph maps — at Initial Version

Reported by: Alpar Juttner Owned by: Balazs Dezso
Priority: minor Milestone: LEMON 1.5 release
Component: core Version: hg main
Keywords: Cc:
Revision id:

Description

Sometimes it would be nice to have a map which is not registered in the alteration notifier of the graph.

One reason might be running time efficiency, but the more important is multi-thread applications (see #223). Currently, it is not safe to run say two Dijkstra algorithms on the same graph in parallel, as they would allocate maps and register them into the alteration notifier simultaneously, which is not safe. Changing these map allocations to static one would solve this problem.

My suggestion is to use the standard maps with a special constructor for this purpose, e.g.

ListGraph::NodeMap<int> map1(g,STATIC);
ListGraph::NodeMap<int> map1(g,15,STATIC);

or

ListGraph::NodeMap<int> map1(STATIC,g);
ListGraph::NodeMap<int> map1(STATIC,g,15);

See also #223.

Change History (0)

Note: See TracTickets for help on using tickets.