# fidl::InterfaceRequest

## Summary

| ### Constructors and Destructors ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request_1ae4f6e84fe2bda237ac44fe5007c2b5dc()` ||
| `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request_1aa5c6bb5d8592187b63726ccf0f08f922(https://fuchsia.dev/reference/cpp/class/zx/channel#classzx_1_1channel channel)` ||
| `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request_1a519aac8e188e2b35a121ea363ced9214(const https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request & other)` ||
| `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request_1acc66fe01f922ecdefca336d751f03446(https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request && other)` ||
| `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request_1ab153b210ee4cef09da485f082e514b01(std::nullptr_t)` ||

| ### Public functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request_1ae8686a2cacb7a5b46d46affcd27a6afe(zx_status_t epitaph_value)` | `zx_status_t` |
| `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request_1a1cfd3aaa36685de26c99de59b6f91311(https://fuchsia.dev/reference/cpp/class/fidl/encoder#classfidl_1_1_encoder *encoder, size_t offset, std::optional<::https://fuchsia.dev/reference/cpp/struct/fidl/handle-information#structfidl_1_1_handle_information > maybe_handle_info)` | `void` |
| `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request_1a020cdfef15354698cc275e6f288fffb4()` | `https://fuchsia.dev/reference/cpp/class/zx/channel#classzx_1_1channel` |
| `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request_1ab480ce1cc3edb37ff00b142f491929b0() const ` | `const https://fuchsia.dev/reference/cpp/class/zx/channel#classzx_1_1channel &` |
| `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request_1ab5ced81a0ed6d65359ccdecd68b4c3d3() const ` | `bool` |
| `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request_1a21a43f227039a8ba1084508ae9ea779c() const ` | ` `` ` |
| `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request_1a8f3ebeef20d79c206bdb04f224f08f96(const https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request & other)=delete` | `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request &` |
| `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request_1a2f1bcaf2a9a4a9ef740c4b9cff43ed73(https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request && other)` | `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request &` |
| `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request_1adb7131f92ea174ef28d3c923bbf146ce(https://fuchsia.dev/reference/cpp/class/zx/channel#classzx_1_1channel channel)` | `void` |

| ### Public static functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request_1ad78178971917d7d03d892f7fc987e27a(https://fuchsia.dev/reference/cpp/class/fidl/decoder#classfidl_1_1_decoder *decoder, https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request< Interface > *value, size_t offset)` | `void` |

## Public functions

### Close

```c++
zx_status_t Close(
  zx_status_t epitaph_value
)
```

### Encode

```c++
void Encode(
  Encoder *encoder,
  size_t offset,
  std::optional<::fidl::HandleInformation > maybe_handle_info
)
```

### InterfaceRequest

```c++
 InterfaceRequest()=default
```

### InterfaceRequest

```c++
 InterfaceRequest(
  zx::channel channel
)
```

### InterfaceRequest

```c++
 InterfaceRequest(
  const InterfaceRequest & other
)=delete
```

### InterfaceRequest

```c++
 InterfaceRequest(
  InterfaceRequest && other
)
```

### InterfaceRequest

```c++
 InterfaceRequest(
  std::nullptr_t
)
```

### TakeChannel

```c++
zx::channel TakeChannel()
```

### channel

```c++
const zx::channel & channel() const 
```

### is_valid

```c++
bool is_valid() const 
```

### operator bool

```c++
 operator bool() const 
```

### operator=

```c++
InterfaceRequest & operator=(
  const InterfaceRequest & other
)=delete
```

### operator=

```c++
InterfaceRequest & operator=(
  InterfaceRequest && other
)
```

### set_channel

```c++
void set_channel(
  zx::channel channel
)
```

## Public static functions

### Decode

```c++
void Decode(
  Decoder *decoder,
  InterfaceRequest< Interface > *value,
  size_t offset
)
```