> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/holoscan/sdk-user-guide/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/holoscan/sdk-user-guide/_mcp/server.

# holoscan::gxf::GXFParameterAdaptor

```cpp showLineNumbers={false}
#include <holoscan/gxf/gxf_parameter_adaptor.hpp>
```

---

## Constructors

### GXFParameterAdaptor \[#gxfparameteradaptor]

```cpp showLineNumbers={false}
holoscan::gxf::GXFParameterAdaptor::GXFParameterAdaptor()
```

---

## Methods

### get\_param\_handler \[#getparamhandler]

```cpp showLineNumbers={false}
AdaptFunc & holoscan::gxf::GXFParameterAdaptor::get_param_handler(
    std::type_index index
)
```

### get\_arg\_param\_handler \[#getargparamhandler]

```cpp showLineNumbers={false}
AdaptFunc & holoscan::gxf::GXFParameterAdaptor::get_arg_param_handler(
    std::type_index index
)
```

### add\_param\_handler \[#addparamhandler]

#### Overload 1

```cpp showLineNumbers={false}
template <typename typeT>
void holoscan::gxf::GXFParameterAdaptor::add_param_handler(
    AdaptFunc func
)
```

#### Overload 2

```cpp showLineNumbers={false}
void holoscan::gxf::GXFParameterAdaptor::add_param_handler(
    std::type_index index,
    AdaptFunc func
)
```

#### Overload 3

```cpp showLineNumbers={false}
template <typename typeT>
void holoscan::gxf::GXFParameterAdaptor::add_param_handler()
```

---

## Static methods

### get\_instance \[#getinstance]

```cpp showLineNumbers={false}
static GXFParameterAdaptor & holoscan::gxf::GXFParameterAdaptor::get_instance()
```

Get the instance of `GXFParameterAdaptor`.

**Returns:** The reference of the static `GXFParameterAdaptor` instance.

### set\_param \[#setparam]

#### Overload 1

```cpp showLineNumbers={false}
static gxf_result_t holoscan::gxf::GXFParameterAdaptor::set_param(
    gxf_context_t context,
    gxf_uid_t uid,
    const char *key,
    ParameterWrapper &param_wrap
)
```

#### Overload 2

```cpp showLineNumbers={false}
static gxf_result_t holoscan::gxf::GXFParameterAdaptor::set_param(
    gxf_context_t context,
    gxf_uid_t uid,
    const char *key,
    const ArgType &arg_type,
    std::any &any_value
)
```

### ensure\_type \[#ensuretype]

```cpp showLineNumbers={false}
template <typename typeT>
static void holoscan::gxf::GXFParameterAdaptor::ensure_type()
```

### set\_gxf\_parameter\_value \[#setgxfparametervalue]

```cpp showLineNumbers={false}
template <typename typeT>
static gxf_result_t holoscan::gxf::GXFParameterAdaptor::set_gxf_parameter_value(
    gxf_context_t context,
    gxf_uid_t uid,
    const char *key,
    const ArgType &arg_type,
    typeT &value
)
```

---

## Types

### Typedefs

| Name        | Definition                                                                                                                                |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `AdaptFunc` | `std::function< gxf_result_t(gxf_context_t context, gxf_uid_t uid, const char *key, const ArgType &arg_type, const std::any &any_value)>` |

---

## Member variables

| Name                        | Type                                               | Description |
| --------------------------- | -------------------------------------------------- | ----------- |
| `none_param_handler` static | `AdaptFunc`                                        |             |
| `function_map_`             | `std::unordered_map< std::type_index, AdaptFunc >` |             |
| `arg_function_map_`         | `std::unordered_map< std::type_index, AdaptFunc >` |             |