Dag shortestpath using the shortest path process and driver#3061
Conversation
WalkthroughThe PR refactors dagShortestPath to standardize its implementation by adopting the shared shortest_path process and driver architecture. This involves adding a DAGSP enum value, creating a public function wrapper, removing the algorithm-specific driver implementation, and integrating dagShortestPath dispatch cases into the unified shortestPath_driver. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@include/dagShortestPath/dagShortestPath.hpp`:
- Around line 221-234: The dagShortestPath wrapper's combinations parameter is
mutable but Pgr_dag<G>::dag expects a const std::map& and peer wrappers like
edwardMoore use const; change the signature of dagShortestPath to accept const
std::map<int64_t, std::set<int64_t>> &combinations (and update any local uses
accordingly) so the call to fn_dag.dag(graph, combinations, only_cost) matches
the const-correct API of Pgr_dag::dag and keeps the wrapper consistent with
edwardMoore.
Fixes #3060
Changes proposed in this pull request:
@pgRouting/admins
Summary by CodeRabbit
Release Notes
Enhancements
Documentation