# fpromise::result

## Summary

| ### Constructors and Destructors ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a6565cd6a7ad4f46f523a17cf30de6fc3()` ||
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a0d84cfd4064470795e4578bacc8c548f(https://fuchsia.dev/reference/cpp/struct/fpromise/pending-result#structfpromise_1_1pending__result)` ||
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a6e984e7fedef7a99c006af0f477b7306(https://fuchsia.dev/reference/cpp/struct/fpromise/ok-result#structfpromise_1_1ok__result< V > result)` ||
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1ae51091bd37d6dbd1a8ec4009f93a5f9c(https://fuchsia.dev/reference/cpp/struct/fpromise/ok-result#structfpromise_1_1ok__result< OtherV > other)` ||
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a2350346289b2d78a072c64deca75bcb9(https://fuchsia.dev/reference/cpp/struct/fpromise/error-result#structfpromise_1_1error__result< E > result)` ||
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a3db451527e8051ca3a7836ba7eae9e33(https://fuchsia.dev/reference/cpp/struct/fpromise/error-result#structfpromise_1_1error__result< OtherE > other)` ||
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a6d48d3f085c8200536c23e94e77c4f0b(const https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result & other)` ||
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a3ec62986db2cae9810e2fafc09e3fc43(https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result && other)` ||
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1afc037a2e684738607da6debaae1db78f()` ||

| ### Public types ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a092206d0751abe42a4971d08820832fa` | using `E` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1aaf784b5285e713b4dc74a48f9dd2375c` | using `V` |

| ### Public functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1ad6af57fe12fb585a629e88717032ae89()` | `constexpr R &` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1af7ba8dc31c24c1f5ef9c59da70c51f91() const ` | `constexpr const R &` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a07cb9b41605de55285020c13e333a647() const ` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a9ecfca7d92f8b67e2c8b2c321a1f359d() const ` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a40f81b7de4d5d56fee3554087ffaf11c() const ` | `constexpr bool` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a45b99f87391d113d8f40227b55b33b9d() const ` | `constexpr` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a1088b7e6ca512c239463819933320e88(const https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result & other)=default` | `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result &` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a55836262ef0c3b265191a0d820a1a5c1(https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result && other)` | `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result &` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a89a4f688a019e6817b5bc98189f70c37() const ` | `constexpr result_state` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a81fde80ac9c0ca26994b28ba143e6054(https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result & other)` | `void` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a23b18ef9d107d9d50a66c3bcaf36f357()` | `R` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1aa577a64165284f2deb405084ff1effbf()` | `https://fuchsia.dev/reference/cpp/struct/fpromise/error-result#structfpromise_1_1error__result< E >` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a856770512916662c2f2c4a73d8683618()` | `https://fuchsia.dev/reference/cpp/struct/fpromise/ok-result#structfpromise_1_1ok__result< V >` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a51736da1d61f1db482a1d583347139b3()` | `R` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1af3f204a4188b1c73ff22027e4c00c65d()` | `constexpr R &` |
| `https://fuchsia.dev/reference/cpp/class/fpromise/result#classfpromise_1_1result_1a38d9ad16bff0a2319b600d95433994e7() const ` | `constexpr const R &` |

## Public types

### error_type

```c++
E error_type
```

### value_type

```c++
V value_type
```

## Public functions

### error

```c++
constexpr R & error()
```

### error

```c++
constexpr const R & error() const 
```

### is_error

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

### is_ok

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

### is_pending

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

### operator bool

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

### operator=

```c++
result & operator=(
  const result & other
)=default
```

### operator=

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

### result

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

### result

```c++
constexpr result(
  pending_result
)
```

### result

```c++
constexpr result(
  ok_result< V > result
)
```

### result

```c++
constexpr result(
  ok_result< OtherV > other
)
```

### result

```c++
constexpr result(
  error_result< E > result
)
```

### result

```c++
constexpr result(
  error_result< OtherE > other
)
```

### result

```c++
 result(
  const result & other
)=default
```

### result

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

### state

```c++
constexpr result_state state() const 
```

### swap

```c++
void swap(
  result & other
)
```

### take_error

```c++
R take_error()
```

### take_error_result

```c++
error_result< E > take_error_result()
```

### take_ok_result

```c++
ok_result< V > take_ok_result()
```

### take_value

```c++
R take_value()
```

### value

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

### value

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

### \~result

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