Tag-locked APIs block deprecation of tag-based interior properties
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- cpp
- Domain
- backend-api-design
Research direction
Start by reading the declarations and existing overloads for maximum_weighted_matching, subgraph, randomize_property, and read_dimacs_max_flow/_min_cut. Trace how each currently obtains its interior property tags, then add property-map entry points for the listed weight, index, capacity, residual, and reverse data. Done means all four entry points work with external property maps so tag-based properties can be deprecated without breaking them.
Written by the indexing model from the issue text.
Description
Four public APIs can only be driven through interior property tags (edge_weight_t, edge_index_t, edge_capacity_t, etc.).
They do not accept an external property map, so users who model their data with bundled properties have no way to call them.
maximum_weighted_matching: would need aWeightMapparametersubgraph: would need anEdgeIndexMapctor argrandomize_property<Tag>: would need an overload with a property mapread_dimacs_max_flow/_min_cut: would need capacity/residual/reverse args
Until each grows an overload accepting property maps, tag-based interior properties cannot be deprecated (even if deprecation happens only in the documentation, that is hiding tags from new users) without breaking these four entry points.
- Dominant language
- C++
- Stars
- 395
- Forks
- 239
- Avg merge
- 18h 50m
- Merged PRs (30d)
- 20
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from boostorg/graph
-
beginner friendly
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
algorithm beginner friendly priority: high
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
-
priority: high warning
-
algorithm
boostorg/graph#493 · 22 comments · 1 reaction · 2 assignees ·
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
games-on-whales/wolf#509 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
bug-unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
NVIDIA/cuda-samples#453 ·