boostorg / boostorg/graph

Tag-locked APIs block deprecation of tag-based interior properties

Open
#476 0 comments 0 reactions 0 assignees View on GitHub
api
Dominant language
C++
Stars
392
Forks
239
Avg merge
1d 11m
Merged PRs (30d)
20

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.

1. `maximum_weighted_matching` : would need a `WeightMap` parameter
2. `subgraph` : would need an `EdgeIndexMap` ctor arg
3. `randomize_property` : would need an overload with a property map
4. `read_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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.