ValueInfo_GetValueConsumers property

Pointer<NativeFunction<OrtStatusPtr Function(Pointer<OrtValueInfo> value_info, Pointer<Pointer<OrtNode>> nodes, Pointer<Int64> input_indices, Size num_consumers)>> ValueInfo_GetValueConsumers
getter/setter pair

\brief Returns information (OrtNode and input index) for all consumer nodes that use the value as an input.

Only nodes are considered "consumers" by this function.

Caller provides 2 pre-allocated arrays that will be filled with the OrtNode and input index values. Use ValueInfo_GetValueNumConsumers() to get the number of consumers of the value.

An OrtNode instance may appear multiple times if it uses the given value more than once. Example: For a node MulNode(x, x) that consumes the value 'x' twice, the following is returned:

  • nodes: MulNode, MulNode
  • input_indices: 0, 1

\paramin value_info The OrtValueInfo instance. \paramout nodes Pre-allocated array of size num_consumers that is filled with OrtNode instances. \paramout input_indices Pre-allocated array of num_consumers elements that is filled with input indices. Index is set to -1 for an "implicit" input to a consumer node that contains a subgraph (e.g., If, Loop) with nodes that use the value internally. \paramin num_consumers The size of the consumer_nodes and consumer_input_indices arrays. Typical usage sets this to the value of ValueInfo_GetValueNumConsumers(). An error status is returned if num_consumers is less than the number of actual consumers.

\snippet{doc} snippets.dox OrtStatus Return Value

\since Version 1.23.

Implementation

external ffi.Pointer<
  ffi.NativeFunction<
    OrtStatusPtr Function(
      ffi.Pointer<OrtValueInfo> value_info,
      ffi.Pointer<ffi.Pointer<OrtNode>> nodes,
      ffi.Pointer<ffi.Int64> input_indices,
      ffi.Size num_consumers,
    )
  >
>
ValueInfo_GetValueConsumers;