# async::PagedVmoBase

## Summary

### Inheritance

Direct Known Subclasses:[async::PagedVmo](https://fuchsia.dev/reference/cpp/class/async/paged-vmo), [async::PagedVmoMethod\< Class, method \>](https://fuchsia.dev/reference/cpp/class/async/paged-vmo-method)

| ### Protected functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base_1a9edb5b4d354b76c97f3f369706461e80(async_paged_vmo_handler_t *handler)` | ` `` ` |
| `https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base_1aa7b63f26fc6ebc069b4d093dd67303f4(const https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base &)=delete` | ` `` ` |
| `https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base_1a06f4371b16ad69b1ff093194a056979c(https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base &&)=delete` | ` `` ` |
| `https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base_1a9aff93f01222e3c46f565925b554f403(const https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base &)=delete` | `https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base &` |
| `https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base_1a0717a36bec99f1b0d6a1a9e893543cc4(https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base &&)=delete` | `https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base &` |
| `https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base_1addc5211e78360cad7ef55e015d5f02e5()` | ` `` ` |

| ### Protected static functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base_1aa18682ef4b125d42cb8a4c2f24211d35(https://fuchsia.dev/reference/cpp/struct/async-paged-vmo#structasync__paged__vmo *paged_vmo, zx_status_t status)` | `T *` |

| ### Public functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base_1a784ebe2816d20919e17fe997811ad5de(async_dispatcher_t *dispatcher, https://fuchsia.dev/reference/cpp/other/singletonzx/unowned#singletonzx_1_1unowned pager, uint32_t options, uint64_t vmo_size, https://fuchsia.dev/reference/cpp/class/zx/vmo#classzx_1_1vmo *vmo_out)` | `zx_status_t` |
| `https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base_1a768474841f1bb745cbb23e4198bd254d()` | `zx_status_t` |
| `https://fuchsia.dev/reference/cpp/class/async/paged-vmo-base#classasync_1_1_paged_vmo_base_1a573b551d03b854678cd474201dd66dcd() const ` | `bool` |

## Protected functions

### PagedVmoBase

```c++
 PagedVmoBase(
  async_paged_vmo_handler_t *handler
)
```

### PagedVmoBase

```c++
 PagedVmoBase(
  const PagedVmoBase &
)=delete
```

### PagedVmoBase

```c++
 PagedVmoBase(
  PagedVmoBase &&
)=delete
```

### operator=

```c++
PagedVmoBase & operator=(
  const PagedVmoBase &
)=delete
```

### operator=

```c++
PagedVmoBase & operator=(
  PagedVmoBase &&
)=delete
```

### \~PagedVmoBase

```c++
 ~PagedVmoBase()
```

## Protected static functions

### Dispatch

```c++
T * Dispatch(
  async_paged_vmo_t *paged_vmo,
  zx_status_t status
)
```

## Public functions

### CreateVmo

```c++
zx_status_t CreateVmo(
  async_dispatcher_t *dispatcher,
  zx::unowned_pager pager,
  uint32_t options,
  uint64_t vmo_size,
  zx::vmo *vmo_out
)
```

### Detach

```c++
zx_status_t Detach()
```

### is_bound

```c++
bool is_bound() const 
```