Commit eef9fa1
authored
D3128: Align algorithm specs with §16.3.2.4 canonical element ordering (#125)
- Reorder all spec blocks to: Mandates → Preconditions → Hardened
preconditions → Effects → Postconditions → Returns → Throws →
Complexity → Remarks
- Add missing Mandates sections for all algorithms with concept
constraints (BFS, DFS, Topological Sort, Dijkstra, Bellman-Ford,
find_negative_cycle, connected_components, afforest, kosaraju, MIS,
Jaccard, Kruskal, inplace_kruskal, Prim)
- Add Constant When for constexpr functions (Dijkstra, Bellman-Ford)
- Add Postconditions for Dijkstra and Bellman-Ford (distances/predecessors)
- Add Throws sections for BFS, DFS, Dijkstra, Bellman-Ford
- Add [[nodiscard]] annotations to Returns (Bellman-Ford, Topological
Sort, triangle_count, directed_triangle_count)
- Add noexcept documentation for triangle_count, directed_triangle_count
- Fix BFS visitor events: remove incorrect on_edge_relaxed/not_relaxed
- Move compile-time concept constraints from Hardened preconditions to
Mandates (inplace_kruskal permutable, Prim basic_edge_weight_function)
- Define \constantwhen macro in P1709-preamble.tex1 parent 1016ba6 commit eef9fa1
2 files changed
Lines changed: 327 additions & 123 deletions
0 commit comments