# QairtOpConfig

Note

Some methods in this module are not yet implemented in the current release
and will raise an exception if called. See the C API for full functionality.

**Include:** `#include "QairtCppApi/QairtOpConfig.hpp"`

C++ wrapper for the QAIRT OpConfig, Param, and Scalar APIs.

- namespace qairt

    - Enums

- enum class OpConfigError : std::underlying\_type\_t&lt;[QairtOpConfig\_Error\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv421QairtOpConfig_Error_t)&gt;

    - Error codes returned by QAIRT [OpConfig](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1OpConfig) operations.

| Enumerator | Description |
| --- | --- |
| `NoError` | Operation succeeded. |
| `MemAlloc` | Memory allocation failure. |
| `InvalidArgument` | An argument to the operation was invalid. |
| `InvalidHandle` | The provided handle is not valid. |
| `Undefined` | An undefined or unknown error occurred. |

*Values:*

- enumerator NoError = [QAIRT\_OPCONFIG\_NO\_ERROR](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv4N21QairtOpConfig_Error_t23QAIRT_OPCONFIG_NO_ERRORE)

    - 

- enumerator MemAlloc = [QAIRT\_OPCONFIG\_ERROR\_MEM\_ALLOC](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv4N21QairtOpConfig_Error_t30QAIRT_OPCONFIG_ERROR_MEM_ALLOCE)

    - 

- enumerator InvalidArgument = [QAIRT\_OPCONFIG\_ERROR\_INVALID\_ARGUMENT](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv4N21QairtOpConfig_Error_t37QAIRT_OPCONFIG_ERROR_INVALID_ARGUMENTE)

    - 

- enumerator InvalidHandle = [QAIRT\_OPCONFIG\_ERROR\_INVALID\_HANDLE](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv4N21QairtOpConfig_Error_t35QAIRT_OPCONFIG_ERROR_INVALID_HANDLEE)

    - 

- enumerator Undefined = [QAIRT\_OPCONFIG\_ERROR\_UNDEFINED](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv4N21QairtOpConfig_Error_t30QAIRT_OPCONFIG_ERROR_UNDEFINEDE)

    -

- enum class ParamType : std::underlying\_type\_t&lt;[Qairt\_ParamType\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv417Qairt_ParamType_t)&gt;

    - Parameter type discriminator for QAIRT op parameters.

| Enumerator | Description |
| --- | --- |
| `Scalar` | Parameter holds a scalar value. |
| `Tensor` | Parameter holds a tensor handle. |
| `Undefined` | Parameter type is unset or unrecognized. |

*Values:*

- enumerator Scalar = [QAIRT\_PARAMTYPE\_SCALAR](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv4N17Qairt_ParamType_t22QAIRT_PARAMTYPE_SCALARE)

    - 

- enumerator Tensor = [QAIRT\_PARAMTYPE\_TENSOR](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv4N17Qairt_ParamType_t22QAIRT_PARAMTYPE_TENSORE)

    - 

- enumerator Undefined = [QAIRT\_PARAMTYPE\_UNDEFINED](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv4N17Qairt_ParamType_t25QAIRT_PARAMTYPE_UNDEFINEDE)

    -

- enum class TensorError : std::underlying\_type\_t&lt;[QairtTensor\_Error\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv419QairtTensor_Error_t)&gt;

    - Error codes returned by QAIRT [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Tensor) operations.

| Enumerator | Description |
| --- | --- |
| `NoError` | Operation succeeded. |
| `InvalidHandle` | The provided handle is not valid. |
| `DoesNotExist` | [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Tensor) with the specified credentials is not registered. |
| `InvalidTensorParam` | A tensor parameter value is invalid. |
| `UnsupportedTensorParam` | A tensor parameter is not supported by this implementation. |
| `IncompatibleTensorUpdate` | The tensor provided for update is incompatible with the original. |
| `InvalidArgument` | An argument to the operation was invalid. |
| `UnsupportedFeature` | The requested feature is not yet supported. |
| `Undefined` | An undefined or unknown error occurred. |

*Values:*

- enumerator NoError = [QAIRT\_TENSOR\_NO\_ERROR](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv4N19QairtTensor_Error_t21QAIRT_TENSOR_NO_ERRORE)

    - 

- enumerator InvalidHandle = [QAIRT\_TENSOR\_ERROR\_INVALID\_HANDLE](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv4N19QairtTensor_Error_t33QAIRT_TENSOR_ERROR_INVALID_HANDLEE)

    - 

- enumerator DoesNotExist = [QAIRT\_TENSOR\_ERROR\_DOES\_NOT\_EXIST](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv4N19QairtTensor_Error_t33QAIRT_TENSOR_ERROR_DOES_NOT_EXISTE)

    - 

- enumerator InvalidTensorParam = [QAIRT\_TENSOR\_ERROR\_INVALID\_TENSOR\_PARAM](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv4N19QairtTensor_Error_t39QAIRT_TENSOR_ERROR_INVALID_TENSOR_PARAME)

    - 

- enumerator UnsupportedTensorParam = [QAIRT\_TENSOR\_ERROR\_UNSUPPORTED\_TENSOR\_PARAM](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv4N19QairtTensor_Error_t43QAIRT_TENSOR_ERROR_UNSUPPORTED_TENSOR_PARAME)

    - 

- enumerator IncompatibleTensorUpdate = [QAIRT\_TENSOR\_ERROR\_INCOMPATIBLE\_TENSOR\_UPDATE](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv4N19QairtTensor_Error_t45QAIRT_TENSOR_ERROR_INCOMPATIBLE_TENSOR_UPDATEE)

    - 

- enumerator InvalidArgument = [QAIRT\_TENSOR\_ERROR\_INVALID\_ARGUMENT](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv4N19QairtTensor_Error_t35QAIRT_TENSOR_ERROR_INVALID_ARGUMENTE)

    - 

- enumerator UnsupportedFeature = [QAIRT\_TENSOR\_ERROR\_UNSUPPORTED\_FEATURE](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv4N19QairtTensor_Error_t38QAIRT_TENSOR_ERROR_UNSUPPORTED_FEATUREE)

    - 

- enumerator Undefined = [QAIRT\_TENSOR\_ERROR\_UNDEFINED](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv4N19QairtTensor_Error_t28QAIRT_TENSOR_ERROR_UNDEFINEDE)

    -

- class OpConfig : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[OpConfig](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt8OpConfigE), [QairtOpConfig\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv418QairtOpConfig_V1_t)&gt;

    - *#include &lt;QairtOpConfig.hpp&gt;*

Wrapper for a QAIRT op configuration describing a single graph node.

Obtained via Api::make<OpConfig>().
    Copy to clipboard

Public Functions

- OpConfig() noexcept = default

    - 

- OpConfig(const [OpConfig](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt8OpConfig8OpConfigERK8OpConfig)&) = delete

    - 

- OpConfig([OpConfig](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt8OpConfig8OpConfigERR8OpConfig)&&) noexcept = default

    - 

- [OpConfig](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt8OpConfigE) &operator=(const [OpConfig](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt8OpConfigE)&) = delete

    - 

- [OpConfig](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt8OpConfigE) &operator=([OpConfig](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt8OpConfigE)&&) noexcept = default

    - 

- inline std::string &getName()

    - Get the instance name of this op configuration.

See also

[QairtOpConfig\_getName](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a985d5490abeddf326d126c12cb847491)

- Returns

    - Reference to the instance name string.

- inline const std::string &getName() const

    - Get the instance name of this op configuration.

See also

[QairtOpConfig\_getName](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a985d5490abeddf326d126c12cb847491)

- Returns

    - Const reference to the instance name string.

- inline void setName(const std::string &name)

    - Set the instance name of this op configuration.

See also

[QairtOpConfig\_setName](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1ab40117a1f3140f0180cbffe240dfa577)

- Parameters

    - **name** – **[in]** Instance name to assign.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- inline void setName(std::string &&name)

    - See also

[OpConfig::setName(const std::string&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1OpConfig_1a8d6f6e2462a1a14c9049e2a8036b9555)

- inline std::string &getPackageName()

    - Get the package name for this op configuration.

See also

[QairtOpConfig\_getPackageName](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a77bde99511e9e9531363fa81c0f2c71c)

- Returns

    - Reference to the package name string.

- inline const std::string &getPackageName() const

    - Get the package name for this op configuration.

See also

[QairtOpConfig\_getPackageName](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a77bde99511e9e9531363fa81c0f2c71c)

- Returns

    - Const reference to the package name string.

- inline void setPackageName(const std::string &packageName)

    - Set the package name for this op configuration.

See also

[QairtOpConfig\_setPackageName](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a72666a5811bf9a8a7fbd304a0d5a4ef0)

- Parameters

    - **packageName** – **[in]** Package that provides this op type.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- inline void setPackageName(std::string &&packageName)

    - See also

[OpConfig::setPackageName(const std::string&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1OpConfig_1afe6fbc37cea60544e738cb7bba24bcee)

- inline std::string &getTypeName()

    - Get the op type name within its package.

See also

[QairtOpConfig\_getTypeName](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a15e749cfc084982896e784bba1ce4828)

- Returns

    - Reference to the type name string.

- inline const std::string &getTypeName() const

    - Get the op type name within its package.

See also

[QairtOpConfig\_getTypeName](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a15e749cfc084982896e784bba1ce4828)

- Returns

    - Const reference to the type name string.

- inline void setTypeName(const std::string &typeName)

    - Set the op type name within its package.

See also

[QairtOpConfig\_setTypeName](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1ad7e1e3195b5a2e2167367dd5114972f0)

- Parameters

    - **typeName** – **[in]** Op type identifier within the package.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- inline void setTypeName(std::string &&typeName)

    - See also

[OpConfig::setTypeName(const std::string&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1OpConfig_1a357047ad82c100cc51d9222004c32b64)

- inline void setParams(const std::vector&lt;[Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5ParamE)&gt; &params)

    - Set the parameters of this op configuration.

See also

[QairtOpConfig\_setParams](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a34bed4eac343982f8867352879653f41)

- Parameters

    - **params** – **[in]** Ordered list of parameters for this op.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle or invalid argument.

- inline const std::vector&lt;[Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5ParamE)&gt; &getParams() const

    - Get the parameters of this op configuration.

See also

[QairtOpConfig\_getParamAt](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a31cbec116ba729398727831fbece4b25)

- Returns

    - Const reference to the ordered list of parameters.

- inline std::vector&lt;[Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5ParamE)&gt; &getParams()

    - Get the parameters of this op configuration.

See also

[QairtOpConfig\_getParamAt](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a31cbec116ba729398727831fbece4b25)

- Returns

    - Reference to the ordered list of parameters.

- inline void setInputs(const std::vector&lt;[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)&gt; &inputs)

    - Set the input tensors of this op configuration from a vector.

See also

[QairtOpConfig\_setInputTensors](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a80e61d25a2c259d4ca55303f75cb4bd1)

- Parameters

    - **inputs** – **[in]** Ordered list of input tensors.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle or invalid argument.

- inline std::vector&lt;[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)&gt; &getInputs()

    - Get the input tensors of this op configuration.

See also

[QairtOpConfig\_getInputTensorAt](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a12759e9b5a461802a3d362316f64ddbb)

- Returns

    - Reference to the ordered list of input tensors.

- inline const std::vector&lt;[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)&gt; &getInputs() const

    - Get the input tensors of this op configuration.

See also

[QairtOpConfig\_getInputTensorAt](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a12759e9b5a461802a3d362316f64ddbb)

- Returns

    - Const reference to the ordered list of input tensors.

- template&lt;typename... T\_Tensors&gt; virtual auto setInputs (Tensor &tensor0, T\_Tensors &... tensors) -&gt; std::enable\_if\_t&lt; detail::all\_are\_same\_v&lt; Tensor, std::remove\_reference\_t&lt; std::remove\_const\_t&lt; T\_Tensors &gt; &gt;... &gt;||sizeof...(T\_Tensors)==0

    - Set the input tensors of this op configuration from individual tensor arguments.

Convenience overload accepting one or more [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Tensor) references directly. Each tensor is shallow-copied into the input list.

See also

[OpConfig::setInputs(const std::vector&lt;Tensor&gt;&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1OpConfig_1a16b5ee8cbc71b1c0ed54208e33a6a11f)

- Parameters

    - - **tensor0** – **[in]** First input tensor.
- **tensors** – **[in]** Additional input tensors (zero or more).

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle or invalid argument.

- tmp reserve (1+sizeof...(T\_Tensors))

    - 

- tmp push\_back (tensor0.shallowCopy())

    - 

- tmp push\_back (tensors.shallowCopy())

    - 

- tmp setInputs(std::move(tmp))

    - 

- inline void setOutputs(const std::vector&lt;[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)&gt; &outputs)

    - Set the output tensors of this op configuration from a vector.

See also

[QairtOpConfig\_setOutputTensors](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a1444f5c3dbc8440b20e48dfbd9c97070)

- Parameters

    - **outputs** – **[in]** Ordered list of output tensors.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle or invalid argument.

- inline std::vector&lt;[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)&gt; &getOutputs()

    - Get the output tensors of this op configuration.

See also

[QairtOpConfig\_getOutputTensorAt](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a1df5fb29f91d23062a10592a4ec6bb4a)

- Returns

    - Reference to the ordered list of output tensors.

- inline const std::vector&lt;[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)&gt; &getOutputs() const

    - Get the output tensors of this op configuration.

See also

[QairtOpConfig\_getOutputTensorAt](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtOpConfig_8h_1a1df5fb29f91d23062a10592a4ec6bb4a)

- Returns

    - Const reference to the ordered list of output tensors.

- template&lt;typename... T\_Tensors&gt; virtual auto setOutputs (Tensor &tensor0, T\_Tensors &... tensors) -&gt; std::enable\_if\_t&lt; detail::all\_are\_same\_v&lt; Tensor, std::remove\_reference\_t&lt; std::remove\_const\_t&lt; T\_Tensors &gt; &gt;... &gt;||sizeof...(T\_Tensors)==0

    - Set the output tensors of this op configuration from individual tensor arguments.

Convenience overload accepting one or more [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Tensor) references directly. Each tensor is shallow-copied into the output list.

See also

[OpConfig::setOutputs(const std::vector&lt;Tensor&gt;&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1OpConfig_1ab3eaabccf2b7411bdc670c162c4501de)

- Parameters

    - - **tensor0** – **[in]** First output tensor.
- **tensors** – **[in]** Additional output tensors (zero or more).

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle or invalid argument.

- tmp reserve (1+sizeof...(T\_Tensors))

    - 

- tmp push\_back (tensor0.shallowCopy())

    - 

- tmp push\_back (tensors.shallowCopy())

    - 

- tmp setOutputs(std::move(tmp))

    -

Public Members

- auto void  {std::vector&lt;Tensor&gt; tmp

    -

Private Functions

- inline explicit OpConfig(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    - 

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    -

Private Members

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;std::string, &interface\_type::getName, &interface\_type::setName&gt; m\_name

    - Instance name of this op, synchronized with the underlying C handle.

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;std::string, &interface\_type::getPackageName, &interface\_type::setPackageName&gt; m\_packageName

    - Package name that provides this op, synchronized with the underlying C handle.

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;std::string, &interface\_type::getTypeName, &interface\_type::setTypeName&gt; m\_typeName

    - Op type name within the package, synchronized with the underlying C handle.

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;std::vector&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5ParamE)&gt;&gt;, &interface\_type::getParamAt, &interface\_type::getNumParams, &interface\_type::setParams&gt; m\_params

    - Ordered list of op parameters, synchronized with the underlying C handle.

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;std::vector&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)&gt;&gt;, &interface\_type::getInputTensorAt, &interface\_type::getNumInputTensors, &interface\_type::setInputTensors&gt; m\_inputs

    - Ordered list of input tensors, synchronized with the underlying C handle.

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;std::vector&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)&gt;&gt;, &interface\_type::getOutputTensorAt, &interface\_type::getNumOutputTensors, &interface\_type::setOutputTensors&gt; m\_outputs

    - Ordered list of output tensors, synchronized with the underlying C handle.

Friends

- *friend class* Api

- class Param : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5ParamE), [QairtOpConfig\_ParamV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv423QairtOpConfig_ParamV1_t)&gt;

    - *#include &lt;QairtOpConfig.hpp&gt;*

Wrapper for a named QAIRT op parameter, holding either a [Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1Scalar) or a [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Tensor).

Obtained via Api::make<Param>().
    Copy to clipboard

Public Functions

- Param() noexcept = default

    - 

- Param(const [Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5Param5ParamERK5Param)&) = delete

    - 

- Param([Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5Param5ParamERR5Param)&&) noexcept = default

    - 

- [Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5ParamE) &operator=(const [Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5ParamE)&) = delete

    - 

- [Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5ParamE) &operator=([Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5ParamE)&&) noexcept = default

    - 

- inline [Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5ParamE) shallowCopy() const

    - Construct a shallow copy of this parameter.

The copy shares the same scalar or tensor reference as the original without taking ownership. Use this to pass a parameter to multiple op configs without duplicating its underlying data.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- Returns

    - A new [Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1Param) referencing the same scalar or tensor as this instance.

- inline [ParamType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt9ParamTypeE) getParamType() const

    - Get the parameter type (scalar or tensor) of this parameter.

See also

[QairtOpConfig\_Param\_getParamType](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtParam_8h_1af7a33290fe3805871a6a3719a4b4bb73)

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- Returns

    - The active parameter type.

- inline std::string &getName()

    - Get the name of this parameter.

See also

[QairtOpConfig\_Param\_getName](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtParam_8h_1ae1269b84f77f08ca6d90ae5cc8543ea3)

- Returns

    - Reference to the parameter name string.

- inline const std::string &getName() const

    - Get the name of this parameter.

See also

[QairtOpConfig\_Param\_getName](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtParam_8h_1ae1269b84f77f08ca6d90ae5cc8543ea3)

- Returns

    - Const reference to the parameter name string.

- inline void setName(const std::string &name)

    - Set the name of this parameter.

See also

[QairtOpConfig\_Param\_setName](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtParam_8h_1a0d059b0ffa21b69d0ccf2206aa1b6ca6)

- Parameters

    - **name** – **[in]** Name to assign.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- inline void setName(std::string &&name)

    - See also

[Param::setName(const std::string&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1Param_1ad61ac711ca49ea7663d2da377e6d7556)

- inline [Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6ScalarE) &getScalar()

    - Get the scalar associated with this parameter.

The parameter type must be ParamType::Scalar; call [getParamType()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1Param_1a4c866c47cd836fcfc326fe759f054b2b) to verify.

See also

[QairtOpConfig\_Param\_getScalarParam](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtParam_8h_1a43f7c5f4d08c9567fcabda3fb68f027a)

- Throws

    - std::bad\_variant\_access – if the active type is not scalar.

- Returns

    - Reference to the scalar held by this parameter.

- inline const [Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6ScalarE) &getScalar() const

    - Get the scalar associated with this parameter.

The parameter type must be ParamType::Scalar; call [getParamType()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1Param_1a4c866c47cd836fcfc326fe759f054b2b) to verify.

See also

[QairtOpConfig\_Param\_getScalarParam](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtParam_8h_1a43f7c5f4d08c9567fcabda3fb68f027a)

- Throws

    - std::bad\_variant\_access – if the active type is not scalar.

- Returns

    - Const reference to the scalar held by this parameter.

- inline void setScalar(const [Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6ScalarE) &scalar)

    - Set the scalar value of this parameter.

See also

[QairtOpConfig\_Param\_setScalarParam](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtParam_8h_1abe4a5f0012e05c8a1ae51cc8d220402a)

- Parameters

    - **scalar** – **[in]** [Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1Scalar) to associate with this parameter.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- inline [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE) &getTensor()

    - Get the tensor associated with this parameter.

The parameter type must be ParamType::Tensor; call [getParamType()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1Param_1a4c866c47cd836fcfc326fe759f054b2b) to verify.

See also

[QairtOpConfig\_Param\_getTensorParam](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtParam_8h_1a1bf7f427d5be850407771cdfaa364bac)

- Throws

    - std::bad\_variant\_access – if the active type is not tensor.

- Returns

    - Reference to the tensor held by this parameter.

- inline const [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE) &getTensor() const

    - Get the tensor associated with this parameter.

The parameter type must be ParamType::Tensor; call [getParamType()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1Param_1a4c866c47cd836fcfc326fe759f054b2b) to verify.

See also

[QairtOpConfig\_Param\_getTensorParam](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtParam_8h_1a1bf7f427d5be850407771cdfaa364bac)

- Throws

    - std::bad\_variant\_access – if the active type is not tensor.

- Returns

    - Const reference to the tensor held by this parameter.

- inline void setTensor(const [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE) &tensor)

    - Set the tensor value of this parameter.

See also

[QairtOpConfig\_Param\_setTensorParam](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#QairtParam_8h_1ac7f25fc9f72bdbbca145c63000bf8412)

- Parameters

    - **tensor** – **[in]** [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Tensor) to associate with this parameter.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4I000EN5qairt5Param7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4I000EN5qairt5Param7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4I000EN5qairt5Param7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4I000EN5qairt5Param7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5Param7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5Param7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5Param7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4I000EN5qairt5Param7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4I000EN5qairt5Param7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4I000EN5qairt5Param7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4I000EN5qairt5Param7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Types

- using scalar\_type = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6ScalarE)&gt;, &interface\_type::getScalarParam, &interface\_type::setScalarParam&gt;

    - 

- using tensor\_type = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)&gt;, &interface\_type::getTensorParam, &interface\_type::setTensorParam&gt;

    -

Private Functions

- inline explicit Param(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    - 

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    -

Private Members

- std::variant&lt;std::monostate, [scalar\_type](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5Param11scalar_typeE), [tensor\_type](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5Param11tensor_typeE)&gt; m\_var

    - Active parameter value: empty, scalar reference, or tensor reference.

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;std::string, &interface\_type::getName, &interface\_type::setName&gt; m\_name

    - Name of this parameter, synchronized with the underlying C handle.

Friends

- *friend class* Api

- class Scalar : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6ScalarE), [QairtScalar\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv416QairtScalar_V1_t)&gt;

    - *#include &lt;QairtOpConfig.hpp&gt;*

Wrapper for a QAIRT scalar value of a single primitive or string type.

Obtained via Api::make<Scalar>().
    Copy to clipboard

Public Functions

- inline ~Scalar()

    - 

- Scalar() noexcept = default

    - 

- inline Scalar([Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6Scalar6ScalarERR6Scalar) &&other) noexcept

    - 

- inline [Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6ScalarE) &operator=([Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6ScalarE) &&other) noexcept

    - 

- inline Scalar(const [Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6Scalar6ScalarERK6Scalar) &other)

    - Construct a deep copy of another [Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1Scalar).

- Parameters

    - **other** – **[in]** Source scalar to copy. Must hold a valid data type.

- Throws

    - std::runtime\_error – if *other* holds an unrecognized data type.

- inline [Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6ScalarE) &operator=(const [Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6ScalarE) &other)

    - Assign a deep copy of another [Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1Scalar) to this instance.

- Parameters

    - **other** – **[in]** Source scalar to copy. Must hold a valid data type.

- Throws

    - std::runtime\_error – if *other* holds an unrecognized data type.

- Returns

    - Reference to this [Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#classqairt_1_1Scalar) after assignment.

- inline [DataType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt8DataTypeE) getDataType() const

    - Get the data type stored in this scalar.

See also

[QairtScalar\_getDataType](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#QairtScalar_8h_1a3dc1cdf9353aabaf198841e60e710a45)

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- Returns

    - The active data type.

- inline float getFloatValue() const

    - 

- inline double getDoubleValue() const

    - 

- inline uint64\_t getUint64Value() const

    - 

- inline uint32\_t getUint32Value() const

    - 

- inline uint16\_t getUint16Value() const

    - 

- inline uint8\_t getUint8Value() const

    - 

- inline int64\_t getInt64Value() const

    - 

- inline int32\_t getInt32Value() const

    - 

- inline int16\_t getInt16Value() const

    - 

- inline int8\_t getInt8Value() const

    - 

- inline const char \*getStringValue() const

    - 

- inline bool getBoolValue() const

    - 

- inline void setFloatValue(float value)

    - See also

[QairtScalar\_setFloatValue](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#QairtScalar_8h_1afe84941015a520fe36fef9886a784eaa)

- inline void setDoubleValue(double value)

    - See also

[QairtScalar\_setDoubleValue](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#QairtScalar_8h_1ae83ab4046c4e3075143f272f487d44c0)

- inline void setUint64Value(uint64\_t value)

    - See also

[QairtScalar\_setUint64Value](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#QairtScalar_8h_1a8fe7f5eafe5ddc328ed894678804fc0f)

- inline void setUint32Value(uint32\_t value)

    - See also

[QairtScalar\_setUint32Value](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#QairtScalar_8h_1a2268f69990a053c9e40ca2ee2f24eaf2)

- inline void setUint16Value(uint16\_t value)

    - See also

[QairtScalar\_setUint16Value](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#QairtScalar_8h_1a64c29f991734cae20017fd8f41188f30)

- inline void setUint8Value(uint8\_t value)

    - See also

[QairtScalar\_setUint8Value](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#QairtScalar_8h_1a6ad580d6ffdecafb7e85aeec1cd45009)

- inline void setInt64Value(int64\_t value)

    - See also

[QairtScalar\_setInt64Value](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#QairtScalar_8h_1aa928d4fe583d5412093eeb3331bca20e)

- inline void setInt32Value(int32\_t value)

    - See also

[QairtScalar\_setInt32Value](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#QairtScalar_8h_1a7f56a3ac0543e92e6e51d886097df4b1)

- inline void setInt16Value(int16\_t value)

    - See also

[QairtScalar\_setInt16Value](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#QairtScalar_8h_1a753b9f97bb72114478d6c0314d8eebb0)

- inline void setInt8Value(int8\_t value)

    - See also

[QairtScalar\_setInt8Value](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#QairtScalar_8h_1ab3c8461e8b61ea961ccc6f45466dc188)

- inline void setStringValue(const char \*value)

    - Set the string value of this scalar.

See also

[QairtScalar\_setStringValue](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#QairtScalar_8h_1aad0bdb5f7b21dc6c35e20efdeeec0ee9)

- Parameters

    - **value** – **[in]** Null-terminated string. Must not be NULL.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle or null argument.

- inline void setBoolValue(bool value)

    - See also

[QairtScalar\_setBoolValue](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#QairtScalar_8h_1a6e1b6ae5673e891b9245804ad8c554c9)

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4I000EN5qairt6Scalar7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4I000EN5qairt6Scalar7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4I000EN5qairt6Scalar7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4I000EN5qairt6Scalar7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6Scalar7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6Scalar7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6Scalar7ApiTypeERR7ApiType)&&) noexcept = default

    -

Private Functions

- inline explicit Scalar(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Private Static Functions

- static inline void copy(const [Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6ScalarE) &src, [Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6ScalarE) &dst)

    -

Friends

- *friend class* Api

Last Published: Jun 04, 2026

[Previous Topic
QairtSignal](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/cpp-api_QairtSignal.md) [Next Topic
QairtInfo](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/QairtInfo.md)