Skip to content

Commit 31187f2

Browse files
committed
doc: fix to describe the precise behavior
1 parent ac26b2f commit 31187f2

1 file changed

Lines changed: 16 additions & 6 deletions

File tree

doc/modules/ROOT/pages/adaptors/subgraph.adoc

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -131,12 +131,22 @@ edge_descriptor global_to_local(edge_descriptor e_global) const;
131131

132132
Convert between local (subgraph-relative) and global (root) descriptors.
133133

134-
WARNING: These conversions have a precondition. The element must belong to this
135-
subgraph. Passing a vertex or edge that is not in the subgraph is a precondition
136-
violation (checked with `BOOST_ASSERT` in debug builds, undefined behaviour
137-
otherwise). On the root subgraph the conversion is the identity, so any element
138-
is accepted. To convert an element that might not be present, test membership
139-
first with `find_vertex()` or `find_edge()`.
134+
[WARNING]
135+
====
136+
These conversions have preconditions, and the two directions differ.
137+
138+
* `global_to_local` requires that the element is in this subgraph. In debug
139+
builds a violation trips `BOOST_ASSERT`; with assertions disabled it returns a
140+
default-constructed descriptor (`null_vertex()` for vertices). When the element
141+
might not be present, query membership first with `find_vertex()` or
142+
`find_edge()`.
143+
* `local_to_global` requires a valid local descriptor of this subgraph. A
144+
violation is undefined behaviour (an unchecked lookup) in all build
145+
configurations.
146+
147+
On the root subgraph every conversion is the identity, so any element is
148+
accepted.
149+
====
140150

141151
'''
142152

0 commit comments

Comments
 (0)