# fdf::Arena

## Summary

### Inheritance

Inherits from: [fidl::AnyArena](https://fuchsia.dev/reference/cpp/class/fidl/any-arena)

| ### Constructors and Destructors ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1ad31764008a0af787b3f19d28aa53efac(fdf_arena_t *arena)` ||
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1aec0cf3173d49a63e2bd68c8320c08e01(fdf_arena_tag_t tag)` ||
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1a1cc087051a1f4ac40b84671223803b4f(const https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena & to_copy)` ||
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1a2b0a12cb445dd1141ef6ea8bf6357c04(https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena && other)` ||
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1a6172da6fd4747e058b3e5ab4403c0f9d()` ||

| ### Public functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1a81e9ba2423698cb0ddc92917a4c8f346(size_t bytes) const ` | `void *` |
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1a3cb3b9386e229ce9fd3161b4ce8f75b3(size_t item_size, size_t count, void(*)(uint8_t *data, size_t count) destructor_function) override` | `virtual uint8_t *` |
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1ac127fa9171552da1d2f1560411f020e4(const T *ptr) const ` | `bool` |
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1ae661a0c8dbb77a6b8460dddbed40d130(void *ptr)` | `void` |
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1a0e8faa7eb25f3092fefc7ddad237f4ff()` | `void` |
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1a6fde5606a55ab01eda48ec652450e2b0() const ` | `fdf_arena_t *` |
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1a4c8f1ecf30ca2fbb68ab69b71b33657c(const https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena & other)=delete` | `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena &` |
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1ae29638a46e2a0ad319edc2c31e528466(https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena && other) noexcept` | `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena &` |
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1af57ed83edcedbc134a9b610a7ab3d291()` | `fdf_arena_t *` |
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1a7e6f8924d56db055eaad0b0003a201fa(fdf_arena_t *arena)` | `void` |

| ### Public static functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena_1ae5d80e2a0851f50ad2236076172f08ba(uint32_t options, fdf_arena_tag_t tag)` | `https://fuchsia.dev/reference/cpp/other/singletonzx/result#singletonzx_1_1result< https://fuchsia.dev/reference/cpp/class/fdf/arena#classfdf_1_1_arena >` |

## Public functions

### Allocate

```c++
void * Allocate(
  size_t bytes
) const 
```

### Allocate

```c++
virtual uint8_t * Allocate(
  size_t item_size,
  size_t count,
  void(*)(uint8_t *data, size_t count) destructor_function
) override
```

### Arena

```c++
 Arena(
  fdf_arena_t *arena
)
```

### Arena

```c++
 Arena(
  fdf_arena_tag_t tag
)
```

### Arena

```c++
 Arena(
  const Arena & to_copy
)=delete
```

### Arena

```c++
 Arena(
  Arena && other
) noexcept
```

### Contains

```c++
bool Contains(
  const T *ptr
) const 
```

### Free

```c++
void Free(
  void *ptr
)
```

### close

```c++
void close()
```

### get

```c++
fdf_arena_t * get() const 
```

### operator=

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

### operator=

```c++
Arena & operator=(
  Arena && other
) noexcept
```

### release

```c++
fdf_arena_t * release()
```

### reset

```c++
void reset(
  fdf_arena_t *arena
)
```

### \~Arena

```c++
 ~Arena()
```

## Public static functions

### Create

```c++
zx::result< Arena > Create(
  uint32_t options,
  fdf_arena_tag_t tag
)
```