Preliminary. ThinkMeta ConcurrentTasks and this documentation are preliminary; everything is subject to change.

API reference / Synchronization

Functions and constants functions

Free functions and constants of Synchronization.

Use
import ThinkMeta.ConcurrentTasks.Synchronization.AutoResetEvent;
Namespace
ThinkMeta::ConcurrentTasks::Synchronization

Concepts

Synchronization::AutoResetEventType

Matches the auto-reset event types of this module.

Syntax

template <typename T>
concept AutoResetEventType =
    std::same_as<T, AutoResetEvent>
    || std::same_as<T, AutoResetEvent_s>;

Template parameters

Ttypename
The candidate type.

Remarks

See also

AutoResetEvent, AutoResetEvent_s

Synchronization::CriticalSectionType

Matches the critical section types of this module.

Syntax

template <typename T>
concept CriticalSectionType =
    std::same_as<T, CriticalSection>
    || std::same_as<T, CriticalSection_s>;

Template parameters

Ttypename
The candidate type.

Remarks

See also

CriticalSection, CriticalSection_s

Synchronization::ManualResetEventType

Matches the manual-reset event types of this module.

Syntax

template <typename T>
concept ManualResetEventType =
    std::same_as<T, ManualResetEvent>
    || std::same_as<T, ManualResetEvent_s>;

Template parameters

Ttypename
The candidate type.

Remarks

See also

ManualResetEvent, ManualResetEvent_s

Synchronization::SemaphoreType

Matches the semaphore types of this module.

Syntax

template <typename T>
concept SemaphoreType = std::same_as<T, Semaphore> || std::same_as<T, Semaphore_s>;

Template parameters

Ttypename
The candidate type.

Remarks

Satisfied by Semaphore and Semaphore_s.

See also

Semaphore, Semaphore_s

Synchronization::TaskGroupType

Matches the task group types of this module.

Syntax

template <typename T>
concept TaskGroupType = std::same_as<T, TaskGroup> || std::same_as<T, TaskGroup_s>;

Template parameters

Ttypename
The candidate type.

Remarks

Satisfied by TaskGroup and TaskGroup_s.

See also

TaskGroup, TaskGroup_s

Synchronization::WaitableType

Matches types that provide the waitable task interface.

Syntax

template <typename T> concept WaitableType = requires(T& w);

Template parameters

Ttypename
The candidate type.

Synchronization::TimedWaitableType

Matches types that provide the waitable task interface with timeouts.

Syntax

template <typename T>
concept TimedWaitableType = WaitableType<T> && requires(T& w, Duration timeout);

Template parameters

Ttypename
The candidate type.

Generated from ThinkMeta.ConcurrentTasks.API @ 137ec1d (2026-10-17).