template <typename T>

class RelaxedAtomic

Defined at line 21 of file ../../zircon/kernel/include/lib/relaxed_atomic.h

Wrapper around ktl::atomic that assumes ktl::memory_order_relaxed for all

operations to simplify pure relaxed use cases. Only a subset of operations

are supported as needed.

NOTE: ktl::atomic has specific defintions for implicit constructors,

coversion operators, and compound assignment operators. This utility attempts

to mirror the signatures and beahvior of the underlying atomic as closely as

possible.

Public Members

static const bool is_always_lock_free

Public Methods

void RelaxedAtomic<T> ()

Defined at line 23 of file ../../zircon/kernel/include/lib/relaxed_atomic.h

void RelaxedAtomic<T> (T value)

Defined at line 24 of file ../../zircon/kernel/include/lib/relaxed_atomic.h

T load ()

Defined at line 26 of file ../../zircon/kernel/include/lib/relaxed_atomic.h

void store (T desired)

Defined at line 27 of file ../../zircon/kernel/include/lib/relaxed_atomic.h

T fetch_add (T value)

Defined at line 29 of file ../../zircon/kernel/include/lib/relaxed_atomic.h

T fetch_sub (T value)

Defined at line 30 of file ../../zircon/kernel/include/lib/relaxed_atomic.h

T fetch_and (T value)

Defined at line 31 of file ../../zircon/kernel/include/lib/relaxed_atomic.h

T fetch_or (T value)

Defined at line 32 of file ../../zircon/kernel/include/lib/relaxed_atomic.h

T operator T ()

Defined at line 34 of file ../../zircon/kernel/include/lib/relaxed_atomic.h

T operator= (T value)

Defined at line 36 of file ../../zircon/kernel/include/lib/relaxed_atomic.h

T operator+= (T value)

Defined at line 37 of file ../../zircon/kernel/include/lib/relaxed_atomic.h

T operator-= (T value)

Defined at line 38 of file ../../zircon/kernel/include/lib/relaxed_atomic.h

T operator&= (T value)

Defined at line 39 of file ../../zircon/kernel/include/lib/relaxed_atomic.h

T operator|= (T value)

Defined at line 40 of file ../../zircon/kernel/include/lib/relaxed_atomic.h