holoscan::ParamSnapshot
Own a consistency-labeled, value-safe Parameter capture envelope.
Snapshot storage is independent of live generation slots and remains valid after the originating session retires. The baseline never copies opaque C++ object representation into this envelope.
Distinct snapshot objects may be used concurrently. Concurrent const access to one snapshot is safe, but assigning, moving, or destroying that object requires external exclusion from every access to the same object.
Constructors
ParamSnapshot
Construct an empty root-scoped snapshot.
The snapshot has zero source identities and no Operator records until populated by an admitted capture operation.
Methods
plan_digest
Return the semantic source-plan digest.
Returns: Exact digest of the source plan, or all zeros for an empty snapshot.
plan_generation
Return the source plan’s process-local generation identity.
Returns: Nonzero source generation for a captured snapshot, or zero when empty.
run_generation
Return the source run generation.
Returns: Nonzero source run generation for a captured snapshot, or zero when empty.
catalog_digest
Return the source catalog digest.
A capture-only capability does not expose discovery metadata, so this digest intentionally differs from that handle’s empty ParamControlHandle::catalog projection while remaining equal to the same policy projection of a read-capable handle.
Offline slicing preserves this source capability identity rather than claiming a new catalog projection for the subset of already-owned snapshot records.
Returns: Exact plan/run-bound digest of the source capture policy’s visible catalog projection, or all zeros for an empty snapshot.
view
Return the captured immutable value view.
Returns: View selected by the capture operation.
consistency
Return the capture consistency mode.
Returns: Consistency boundary established by the capture operation.
scope
Return the owning structured capture or slice scope.
The reference remains valid until this snapshot is assigned or destroyed.
Returns: Borrowed scope retained by this snapshot.
accepted_through
Return the global accepted frontier for a stopped capture.
Returns: Accepted terminal sequence for a stopped capture, or empty for live-per-Operator capture.
published_through
Return the global published frontier for a stopped capture.
Superseded, canceled, rolled-back, and failed-stopped sequences create permanent holes. A lower value than accepted_through records one of those terminal outcomes after this frontier; it does not imply pending publication. Accepted-no-change remains a distinct state and is never relabeled as published.
Returns: Highest contiguous accepted sequence whose intent is reflected by the published view, either through publication or an equality-proven accepted-no-change result; empty for live-per-Operator capture.
operators
Return owning per-Operator records.
The span remains valid until this snapshot is assigned or destroyed. Concurrent reads are safe while no thread mutates the same snapshot object.
Returns: Borrowed canonical records owned by this snapshot.
slice
Const (with scope)
Const (with path)
Const (with operator path)
Return an owning snapshot restricted to one structured scope.
Slicing reads only this snapshot, performs no live-runtime lookup, and grants no update authority. A slice can retain or narrow the source record-container scope and can never add an Operator or field omitted by the originating capture policy.
Returns: Independent owning snapshot with preserved source and consistency metadata.
Parameters
Root, embedded-Graph, or Operator scope to select.