---
title: "ClikaRT::SynchronousScope"
sidebar_label: "SynchronousScope"
description: "While alive, every op dispatched on the calling thread COMPLETES before the dispatch call returns, whichever stream runs it: the moment a call returns, its result is ready."
---

<!-- Generated by tools/doxygen2mdx from Doxygen XML. Do not edit. -->

<span class="api-kind api-kind--class">class</span>

**Header:** `ClikaRT/compute/scope.h`

While alive, every op dispatched on the calling thread COMPLETES before the dispatch call returns, whichever stream runs it: the moment a call returns, its result is ready. Thread-local (it changes nothing for other threads and throttles no stream), so it opens anywhere, on a busy lane included; it trades away the throughput that asynchronous pipelining buys, for as long as it lives. Scopes nest. Non-copyable, non-movable.

## Member functions

### SynchronousScope() {#SynchronousScope}

<div class="api-signature">

**`SynchronousScope`**()

</div>

Enter: ops issued from this thread complete before returning until the scope exits.

<div class="api-declared">

Declared in `ClikaRT/compute/scope.h`, line 33

</div>

### \~SynchronousScope() {#SynchronousScope-2}

<div class="api-signature">

**`~SynchronousScope`**()

</div>

Exit: restores the thread's ordinary asynchronous issue.

<div class="api-declared">

Declared in `ClikaRT/compute/scope.h`, line 35

</div>

### SynchronousScope(SynchronousScope) {#SynchronousScope-3}

<div class="api-signature">

**`SynchronousScope`**(`const SynchronousScope&`) `=delete`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/scope.h`, line 36

</div>

### operator=() {#operator-assign}

<div class="api-signature">

[`SynchronousScope`](./SynchronousScope.md)`&` **`operator=`**(`const` [`SynchronousScope`](./SynchronousScope.md)`&`) `=delete`

</div>

<div class="api-declared">

Declared in `ClikaRT/compute/scope.h`, line 37

</div>
