> 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::NativeBufferProtocolAdapter

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

---

## Constructors

### Destructor \[#destructor]

### \~NativeBufferProtocolAdapter

```cpp showLineNumbers={false}
virtual holoscan::NativeBufferProtocolAdapter::~NativeBufferProtocolAdapter() = default
```

---

## Methods

### is\_initialized \[#isinitialized]

```cpp showLineNumbers={false}
virtual bool holoscan::NativeBufferProtocolAdapter::is_initialized() const
```

### default\_protocol\_name \[#defaultprotocolname]

```cpp showLineNumbers={false}
virtual const std::string & holoscan::NativeBufferProtocolAdapter::default_protocol_name() const
```

### supports\_protocol \[#supportsprotocol]

```cpp showLineNumbers={false}
virtual bool holoscan::NativeBufferProtocolAdapter::supports_protocol(
    const std::string &protocol_name
) const
```

### can\_export\_tensor \[#canexporttensor]

```cpp showLineNumbers={false}
virtual bool holoscan::NativeBufferProtocolAdapter::can_export_tensor(
    const nvidia::gxf::Tensor &tensor
) const
```

### descriptor\_format\_version \[#descriptorformatversion]

```cpp showLineNumbers={false}
virtual uint8_t holoscan::NativeBufferProtocolAdapter::descriptor_format_version() const
```

### export\_tensor \[#exporttensor]

```cpp showLineNumbers={false}
virtual nvidia::gxf::Expected<std::vector<uint8_t>> holoscan::NativeBufferProtocolAdapter::export_tensor(
    void *device_ptr,
    const std::shared_ptr<void> &device_ptr_owner,
    const NativeTensorMetadata &tensor_info,
    const std::string &protocol_name,
    uint32_t sequence_num
)
```

### import\_tensor\_generic \[#importtensorgeneric]

```cpp showLineNumbers={false}
virtual nvidia::gxf::Expected<ImportedNativeTensor> holoscan::NativeBufferProtocolAdapter::import_tensor_generic(
    const std::vector<uint8_t> &descriptor_bytes,
    const std::string &protocol_name,
    std::chrono::milliseconds timeout = std::chrono::milliseconds{0}
)
```

### pending\_export\_count \[#pendingexportcount]

```cpp showLineNumbers={false}
virtual size_t holoscan::NativeBufferProtocolAdapter::pending_export_count() const
```

### set\_on\_pending\_export\_count\_changed \[#setonpendingexportcountchanged]

```cpp showLineNumbers={false}
virtual void holoscan::NativeBufferProtocolAdapter::set_on_pending_export_count_changed(
    PendingExportCountChangedCallback callback
)
```

---

## Types

### Typedefs

| Name                                | Definition                     |
| ----------------------------------- | ------------------------------ |
| `PendingExportCountChangedCallback` | `std::function< void(size_t)>` |