drt: nodes structure refactoring and elimination of getFlatIdx
This PR has a secure CI associated with it, is branched from #5901 and is waiting for it to merge (yes, I'm currently 4 PRs deep).
Nodes structure change
The nodes vector has been refactored to be a vector of vectors index by the old "nested id". This allowed for the elimination of the getFlatIdx() function, as now the indexing for nodes is always done through both idx.
This change impacts various parts of the code as the structure is present in most of the functions that work with Access Patterns.
getEdgeCost refactoring
This PR also contains some minor refactoring on getEdgeCost (both implementations).
The refactoring that does not have to do with the nodes restructuring are:
- Returning the edge cost directly to allow for use of guards
- On the long getEdgeCost implementation both checks for violation edges were unified.
Do not try to look at changes, it currently has 4 PRs worth of contents, I just want to make it to organize myself and see the public CI.