# fit::nullable

## Summary

| ### Constructors and Destructors ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1a006f5d376f183f44b854ee6ee00ec4cf()` ||
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1a7a136ba87a31c337317707ac51df6fb4(decltype(nullptr))` ||
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1a2c8f0fe2c7ec7744f4e9ba3e97b1781f(T value)` ||
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1a121c7c520b9a28abd5b2951468c0bd45(const https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable & other)` ||
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1af46bf352cb1bea7167cf34812a04aac5(https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable && other)` ||
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1aa650c8198b9dfcb5f2382b06a5035bfd()` ||

| ### Public types ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1abc83330f2362666ba2cf27d36a7ae024` | using `T` |

| ### Public functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1afaa484abc73369c9c7589384e7d404a9() const ` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1aebb16e53f495842ee5090c34e6988735() const ` | `constexpr` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1ac12f54fed998f280a0a51bfb3e465b69()` | `constexpr T &` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1a4225fcdf3a4b894c62bfc45d1025031b() const ` | `constexpr const T &` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1ada796a7e376e26c1dc359cc67ff0dfcb()` | `constexpr T *` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1a7796492d2a448ca82477829289aeb01e() const ` | `constexpr const T *` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1ada91f316f5c89eee22e69aba2809792b(const https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable & other)=default` | `constexpr https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable &` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1a323eff2aa8d498902edb90db47ffdd97(https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable && other)=default` | `constexpr https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable &` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1a32f8fc0e78314907394e63a748279703(decltype(nullptr))` | `constexpr https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable &` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1a04bfd35448442866d405e6216e0b4e55(T value)` | `constexpr https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable &` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1a5d6d726cbd2ee6da8dfe01402ced5cba()` | `constexpr void` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1aeda6c94751f6f2d40effeee4445e0fc2(https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable & other)` | `constexpr void` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1a9eddcf50c3745714f45ab31e3b6c1955()&` | `constexpr T &` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1ac18cdb67df65324de44b678778c6f607() const &` | `constexpr const T &` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1a191c387e90cf4ab0ca130106bef21d87()&&` | `constexpr T &&` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1a3d9c92d3c05e28f437742c233d0ec28c() const &&` | `constexpr const T &&` |
| `https://fuchsia.dev/reference/cpp/class/fit/nullable#classfit_1_1nullable_1aeebfa058117c530ba47912d23f1cbeea(U && default_value) const ` | `constexpr T` |

## Public types

### value_type

```c++
T value_type
```

## Public functions

### has_value

```c++
constexpr bool has_value() const 
```

### nullable

```c++
constexpr nullable()=default
```

### nullable

```c++
constexpr nullable(
  decltype(nullptr)
)
```

### nullable

```c++
constexpr nullable(
  T value
)
```

### nullable

```c++
constexpr nullable(
  const nullable & other
)=default
```

### nullable

```c++
constexpr nullable(
  nullable && other
)=default
```

### operator bool

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

### operator\*

```c++
constexpr T & operator*()
```

### operator\*

```c++
constexpr const T & operator*() const 
```

### operator-\>

```c++
constexpr T * operator->()
```

### operator-\>

```c++
constexpr const T * operator->() const 
```

### operator=

```c++
constexpr nullable & operator=(
  const nullable & other
)=default
```

### operator=

```c++
constexpr nullable & operator=(
  nullable && other
)=default
```

### operator=

```c++
constexpr nullable & operator=(
  decltype(nullptr)
)
```

### operator=

```c++
constexpr nullable & operator=(
  T value
)
```

### reset

```c++
constexpr void reset()
```

### swap

```c++
constexpr void swap(
  nullable & other
)
```

### value

```c++
constexpr T & value()&
```

### value

```c++
constexpr const T & value() const &
```

### value

```c++
constexpr T && value()&&
```

### value

```c++
constexpr const T && value() const &&
```

### value_or

```c++
constexpr T value_or(
  U && default_value
) const 
```

### \~nullable

```c++
 ~nullable()=default
```