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

Aperta
#476 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
cpp

Direzione di ricerca

Inizia leggendo le dichiarazioni e gli overload esistenti per maximum_weighted_matching, subgraph, randomize_property e read_dimacs_max_flow/_min_cut. Traccia il modo in cui ciascuno ottiene attualmente i propri tag di proprietà interni, quindi aggiungi punti di ingresso property-map per i dati di peso, indice, capacità, residui e reverse elencati. Il lavoro è completato quando tutti e quattro i punti di ingresso funzionano con property map esterne, in modo che le proprietà basate sui tag possano essere deprecate senza romperli.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

api

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<Tag> : 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.

Lingua principale
C++
Stelle
395
Fork
239
Merge medio
18h 50m
PR unite (30g)
20

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di boostorg/graph

Tutte le issue di boostorg/graph

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.