Skip to navigation

holoscan::authoring::add_registered_operator

Beta
View as Markdown
HOLOSCAN_CORE_EXPORT expected<RegisteredOperatorAddition, Error> holoscan::authoring::add_registered_operator(
Graph &graph,
std::string_view name,
)

Add through one registry row and harvest its exact ports atomically.

The row’s construction thunk, any nested Graph mutations it performs (for example, a separate Params update), the returned-reference check, the constructor-handle binding record, and the port harvest run as one compound mutation. Any failure restores the prior Graph state, so the same name can be retried.

For a row with RegisteredOperatorType::constructor_inputs, every handle is validated before any mutation: each name must be declared once, carry the declared type, be non-empty, and have been created in the calling process, every required input must be present, and no value assignment may reuse a handle name. The new declaration’s factory then retains every supplied owner and refuses to construct the Operator in any process other than the calling one.

Returns: Complete erased identity and ports, or failure with no Graph mutation.

Throws: Any exceptional row failure after restoring the Graph.

Parameters

graph
Graph &

Destination Graph.

row
const RegisteredOperatorType &

Stable registered Operator row.

name
std::string_view

Graph-local Operator declaration name.

inputs
const OperatorConstructionInputs &

Named value assignments and constructor handles.