# loop_fixture::RealLoop

## Summary

| ### Protected functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/loop-fixture/real-loop#classloop__fixture_1_1_real_loop_1ae3d73809ca106fe591f875661fd301cb(Callable && work)` | `auto` |
| `https://fuchsia.dev/reference/cpp/class/loop-fixture/real-loop#classloop__fixture_1_1_real_loop_1a5b14eec653fdbea5163e256f37fca0e6()` | `void` |
| `https://fuchsia.dev/reference/cpp/class/loop-fixture/real-loop#classloop__fixture_1_1_real_loop_1abd3a24cf51c6cd9a60955f743b354743()` | `https://fuchsia.dev/reference/cpp/class/fit/function-impl#classfit_1_1function__impl` |
| `https://fuchsia.dev/reference/cpp/class/loop-fixture/real-loop#classloop__fixture_1_1_real_loop_1a6d52d1b2a160fcbe767d074e14b35469()` | ` `` ` |
| `https://fuchsia.dev/reference/cpp/class/loop-fixture/real-loop#classloop__fixture_1_1_real_loop_1aa683dc9ce78fc50da0785e8e82980dd5()` | `void` |
| `https://fuchsia.dev/reference/cpp/class/loop-fixture/real-loop#classloop__fixture_1_1_real_loop_1a47eeb74cf4e9a66c7897adcd56e11638(https://fuchsia.dev/reference/cpp/class/fit/function-impl#classfit_1_1function__impl< bool()> condition, https://fuchsia.dev/reference/cpp/class/zx/duration#classzx_1_1duration step)` | `void` |
| `https://fuchsia.dev/reference/cpp/class/loop-fixture/real-loop#classloop__fixture_1_1_real_loop_1ae84c69fcb8c65fd820cf0c16f82bb86b()` | `void` |
| `https://fuchsia.dev/reference/cpp/class/loop-fixture/real-loop#classloop__fixture_1_1_real_loop_1a528352d23333ebe248daec788ea888bf(https://fuchsia.dev/reference/cpp/class/zx/duration#classzx_1_1duration timeout)` | `bool` |
| `https://fuchsia.dev/reference/cpp/class/loop-fixture/real-loop#classloop__fixture_1_1_real_loop_1ad5b02c550d32978560a688801f406214(https://fuchsia.dev/reference/cpp/class/fit/function-impl#classfit_1_1function__impl< bool()> condition, https://fuchsia.dev/reference/cpp/class/zx/duration#classzx_1_1duration timeout, https://fuchsia.dev/reference/cpp/class/zx/duration#classzx_1_1duration step)` | `bool` |
| `https://fuchsia.dev/reference/cpp/class/loop-fixture/real-loop#classloop__fixture_1_1_real_loop_1a47e7223691aa6f55b58bce6a1e61b59f(PromiseType promise)` | `PromiseType::result_type` |
| `https://fuchsia.dev/reference/cpp/class/loop-fixture/real-loop#classloop__fixture_1_1_real_loop_1a1f6e35581efa040ee2b463c6450d86a2()` | `async_dispatcher_t *` |
| `https://fuchsia.dev/reference/cpp/class/loop-fixture/real-loop#classloop__fixture_1_1_real_loop_1aeb8bd28f01d665d6265121f518726f5c()` | `https://fuchsia.dev/reference/cpp/class/async/loop#classasync_1_1_loop &` |
| `https://fuchsia.dev/reference/cpp/class/loop-fixture/real-loop#classloop__fixture_1_1_real_loop_1a72eb981df78436f0866cbe9e50769ff3()` | ` `` ` |

## Protected functions

### PerformBlockingWork

```c++
auto PerformBlockingWork(
  Callable && work
)
```

### QuitLoop

```c++
void QuitLoop()
```

### QuitLoopClosure

```c++
fit::closure QuitLoopClosure()
```

### RealLoop

```c++
 RealLoop()
```

### RunLoop

```c++
void RunLoop()
```

### RunLoopUntil

```c++
void RunLoopUntil(
  fit::function< bool()> condition,
  zx::duration step
)
```

### RunLoopUntilIdle

```c++
void RunLoopUntilIdle()
```

### RunLoopWithTimeout

```c++
bool RunLoopWithTimeout(
  zx::duration timeout
)
```

### RunLoopWithTimeoutOrUntil

```c++
bool RunLoopWithTimeoutOrUntil(
  fit::function< bool()> condition,
  zx::duration timeout,
  zx::duration step
)
```

### RunPromise

```c++
PromiseType::result_type RunPromise(
  PromiseType promise
)
```

### dispatcher

```c++
async_dispatcher_t * dispatcher()
```

### loop

```c++
async::Loop & loop()
```

### \~RealLoop

```c++
 ~RealLoop()
```