# 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<[QairtOpConfig\_Error\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv421QairtOpConfig_Error_t)> - 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<[Qairt\_ParamType\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtOpConfig.html#_CPPv417Qairt_ParamType_t)> - 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<[QairtTensor\_Error\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv419QairtTensor_Error_t)> - 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_QairtBackend.html#_CPPv45qairt)::ApiType<[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)> - *#include <QairtOpConfig.hpp>* Wrapper for a QAIRT op configuration describing a single graph node. Obtained via Api::make(). 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_QairtBackend.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_QairtBackend.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_QairtBackend.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<[Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5ParamE)> ¶ms) - 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_QairtBackend.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<[Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5ParamE)> &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<[Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5ParamE)> &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<[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)> &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_QairtBackend.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle or invalid argument. - inline std::vector<[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)> &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<[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)> &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<typename... T\_Tensors> virtual auto setInputs (Tensor &tensor0, T\_Tensors &... tensors) -> std::enable\_if\_t< detail::all\_are\_same\_v< Tensor, std::remove\_reference\_t< std::remove\_const\_t< T\_Tensors > >... >||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<Tensor>&)](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_QairtBackend.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<[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)> &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_QairtBackend.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle or invalid argument. - inline std::vector<[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)> &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<[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)> &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<typename... T\_Tensors> virtual auto setOutputs (Tensor &tensor0, T\_Tensors &... tensors) -> std::enable\_if\_t< detail::all\_are\_same\_v< Tensor, std::remove\_reference\_t< std::remove\_const\_t< T\_Tensors > >... >||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<Tensor>&)](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_QairtBackend.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<Tensor> tmp - Private Functions - inline explicit OpConfig(const std::shared\_ptr<ApiTable> &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<std::string, &interface\_type::getName, &interface\_type::setName> 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<std::string, &interface\_type::getPackageName, &interface\_type::setPackageName> 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<std::string, &interface\_type::getTypeName, &interface\_type::setTypeName> 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<std::vector<[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning<[Param](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5ParamE)>>, &interface\_type::getParamAt, &interface\_type::getNumParams, &interface\_type::setParams> 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<std::vector<[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning<[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)>>, &interface\_type::getInputTensorAt, &interface\_type::getNumInputTensors, &interface\_type::setInputTensors> 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<std::vector<[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning<[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)>>, &interface\_type::getOutputTensorAt, &interface\_type::getNumOutputTensors, &interface\_type::setOutputTensors> 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_QairtBackend.html#_CPPv45qairt)::ApiType<[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)> - *#include <QairtOpConfig.hpp>* 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(). 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_QairtBackend.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_QairtBackend.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_QairtBackend.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_QairtBackend.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_QairtBackend.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle. - template<typename T, typename U, typename V> inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4I000EN5qairt5Param7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)<[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)> &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle<handle\_type> noh) - - inline explicit ApiType(const std::shared\_ptr<T\_Table> &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 - - inline ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt5Param7ApiTypeERR7ApiType) &&other) noexcept - - [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 - - inline [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) &&other) noexcept - Private Types - using scalar\_type = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable<[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning<[Scalar](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6ScalarE)>, &interface\_type::getScalarParam, &interface\_type::setScalarParam> - - using tensor\_type = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable<[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning<[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE)>, &interface\_type::getTensorParam, &interface\_type::setTensorParam> - Private Functions - inline explicit Param(const std::shared\_ptr<ApiTable> &apiTable) - - inline void prepareToCross() const - - inline void updateAfterCross() const - Private Members - std::variant<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)> 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<std::string, &interface\_type::getName, &interface\_type::setName> m\_name - Name of this parameter, synchronized with the underlying C handle. Friends - *friend class* Api - *friend class* ::qairt::ApiType - class Scalar : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtBackend.html#_CPPv45qairt)::ApiType<[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)> - *#include <QairtOpConfig.hpp>* Wrapper for a QAIRT scalar value of a single primitive or string type. Obtained via Api::make(). 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_QairtBackend.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_QairtBackend.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<typename T, typename U, typename V> inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4I000EN5qairt6Scalar7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)<[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)> &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle<handle\_type> noh) - - inline explicit ApiType(const std::shared\_ptr<T\_Table> &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 - - inline ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtOpConfig.html#_CPPv4N5qairt6Scalar7ApiTypeERR7ApiType) &&other) noexcept - Private Functions - inline explicit Scalar(const std::shared\_ptr<ApiTable> &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: Aug 06, 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)