![]() |
XII Release 0.1.0
|
Copyright (c) Theophilus Eriata. All Rights Reserved. More...
#include <GraphView.h>
Public Types | |
| enum class | Mode { Selected , Induced } |
Public Member Functions | |
| xiiGraphView (const xiiGraph &graph) | |
| xiiResult | Select (xiiArrayPtr< const xiiGraphVertexHandle > vertices, Mode mode=Mode::Induced, xiiArrayPtr< const xiiGraphEdgeHandle > edges={}) |
| Transactional selection. Every edge must currently connect two selected vertices. | |
| bool | Contains (xiiGraphVertexHandle vertex) const |
| bool | Contains (xiiGraphEdgeHandle edge) const |
| void | Enumerate (xiiDynamicArray< xiiGraphVertexHandle > &out_vertices, xiiDynamicArray< xiiGraphEdgeHandle > &out_edges) const |
| void | Refresh () |
| Explicitly discard stale memberships, without affecting graph topology. | |
| xiiResult | Remap (const xiiGraphHandleMap &mapping) |
| xiiResult | CopyTo (xiiGraph &destination, xiiGraphHandleMap &out_mapping) const |
| const xiiGraph & | GetGraph () const |
Copyright (c) Theophilus Eriata. All Rights Reserved.
Non-owning subset of one graph object. The source must outlive the view. No subscriptions or membership bookkeeping are added to the source, so source mutation costs are unchanged. Queries validate generations and current endpoints. Induced views include newly inserted edges between selected vertices; selected views include only explicitly selected edges. Enumeration follows source dense order and costs O(V + E). Reacquire enumerations after source mutation. Views stay with their source object when topology moves, just like graph subscriptions.
| xiiResult xiiGraphView::CopyTo | ( | xiiGraph & | destination, |
| xiiGraphHandleMap & | out_mapping ) const |
Copy the current view into an independent graph using the existing snapshot machinery. Failure leaves destination and mapping unchanged. Graph-owned identities are never reused.
| xiiResult xiiGraphView::Remap | ( | const xiiGraphHandleMap & | mapping | ) |
Follow an explicit CopyFrom/Compact map into this source. Missing entries are dropped. Call before Refresh after compaction. No automatic update or source ownership transfer occurs.
| xiiResult xiiGraphView::Select | ( | xiiArrayPtr< const xiiGraphVertexHandle > | vertices, |
| Mode | mode = Mode::Induced, | ||
| xiiArrayPtr< const xiiGraphEdgeHandle > | edges = {} ) |
Transactional selection. Every edge must currently connect two selected vertices.
Copyright (c) Theophilus Eriata. All Rights Reserved.