Skip to content

Paper review#37

Merged
pratzl merged 5 commits into
mainfrom
paper_review
Jun 9, 2026
Merged

Paper review#37
pratzl merged 5 commits into
mainfrom
paper_review

Conversation

@pratzl

@pratzl pratzl commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

pratzl added 5 commits June 8, 2026 22:31
Introduce graph::basic_edge<G,E> (source_id + target_id only) in the shared
graph namespace, and redefine adj_list::edge to refine basic_edge plus the
source/target vertex-descriptor CPOs. edge_list::basic_sourced_edgelist now
requires basic_edge of its element type, tying both ADTs to one shared edge
floor. Also drops the redundant target_id->source_id convertibility clause
from basic_sourced_edgelist (return types are intentionally unconstrained,
matching the adj_list side). Update edge_list interop test to assert the new
basic_edge vs adj_list::edge contract.
Adds a uid overload to the vertex_value CPO that resolves to
vertex_value(g, *find_vertex(g, uid)), matching the documented GCI default and
mirroring the uid convenience overloads on out_edges/find_out_edge. Gated by a
_has_uid constraint so it only participates when find_vertex(g, uid) is valid
and vertex_value is available on the resulting vertex descriptor. Adds a test.
…rtex

The uid overload now mirrors the descriptor dispatch: a member g.vertex_value(uid)
or ADL vertex_value(g, uid) taking the id directly is preferred, and only when
neither exists does it fall back to vertex_value(g, *find_vertex(g, uid)). Adds a
_Choose_uid strategy and a test asserting id-taking member priority.
- Add basic_edge<G,E> (shared edge floor: source_id/target_id) and the refined
  adj_list edge<G,E> (+ source/target descriptors) to the concept reference,
  adjacency-list interface, and user guide.
- Note that edge_list::basic_sourced_edgelist rests on the shared basic_edge,
  tying both ADTs together; update the edge-list interface hierarchy.
- Document the vertex_value(g, uid) convenience overload and its member/ADL ->
  find_vertex dispatch in the CPO reference.
- Add basic_edge nodes to the adjacency_list/edge_list concept .dot graphs and
  regenerate the .svg diagrams with graphviz.
@pratzl pratzl merged commit 8741fd0 into main Jun 9, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant