id summary reporter owner description type status priority milestone component version resolution keywords cc revision 462 Extended run time checking in debug mode Alpar Juttner Alpar Juttner "When using more graph instances of the same time (e.g. `ListDigraph`) in a code, it is a very common error that a `Node` or `Arc` is used with a different graph that they actually belong to. For example a `NodeMap` may be indexed by a node belonging to another graph. These kind of errors remain hidden during the compilation. I propose adding a pointer to the owner graph to each `Node` and `Arc` objects, and check their the validity of the relevant graph and map operations. This feature would be turned on ''in debug mode only''. Two things are worth checking: - The item should belong to the corresponding graph - The item should be valid (i.e. not `INVALID` and point to an existing item) Here is a --- maybe incomplete --- list where checking could be made: - `source()`, `target()`, `u()`, `v()`, `runningNode()`, `baseNode()` - `id()` - constructors of the iterators - `operator++()` of the iterators (validity check only) - `*Map<>::operator[]()'`, `*Map<>::set()'`, - `changeSource()`, `changeTarget()`, `reverse()`" enhancement new major LEMON 1.4 release core hg main