Module libc/stdatomic

libc/stdatomic

C11 <stdatomic.h> — atomic operations and types.

Types

atomic_bool type-alias
atomic_bool

Trait Implementations

atomic_char type-alias
atomic_char

Trait Implementations

atomic_schar type-alias
atomic_schar

Trait Implementations

atomic_uchar type-alias
atomic_uchar

Trait Implementations

atomic_short type-alias
atomic_short

Trait Implementations

atomic_ushort type-alias
atomic_ushort

Trait Implementations

atomic_int type-alias
atomic_int

Trait Implementations

atomic_uint type-alias
atomic_uint

Trait Implementations

atomic_long type-alias
atomic_long

Trait Implementations

atomic_ulong type-alias
atomic_ulong

Trait Implementations

atomic_llong type-alias
atomic_llong

Trait Implementations

atomic_ullong type-alias
atomic_ullong

Trait Implementations

atomic_char16_t type-alias
atomic_char16_t

Trait Implementations

atomic_char32_t type-alias
atomic_char32_t

Trait Implementations

atomic_wchar_t type-alias
atomic_wchar_t

Trait Implementations

atomic_int_least8_t type-alias
atomic_int_least8_t

Trait Implementations

atomic_uint_least8_t

Trait Implementations

atomic_int_least16_t

Trait Implementations

atomic_uint_least16_t

Trait Implementations

atomic_int_least32_t

Trait Implementations

atomic_uint_least32_t

Trait Implementations

atomic_int_least64_t

Trait Implementations

atomic_uint_least64_t

Trait Implementations

atomic_int_fast8_t type-alias
atomic_int_fast8_t

Trait Implementations

atomic_uint_fast8_t type-alias
atomic_uint_fast8_t

Trait Implementations

atomic_int_fast16_t type-alias
atomic_int_fast16_t

Trait Implementations

atomic_uint_fast16_t

Trait Implementations

atomic_int_fast32_t type-alias
atomic_int_fast32_t

Trait Implementations

atomic_uint_fast32_t

Trait Implementations

atomic_int_fast64_t type-alias
atomic_int_fast64_t

Trait Implementations

atomic_uint_fast64_t

Trait Implementations

atomic_intptr_t type-alias
atomic_intptr_t

Trait Implementations

atomic_uintptr_t type-alias
atomic_uintptr_t

Trait Implementations

atomic_size_t type-alias
atomic_size_t

Trait Implementations

atomic_ptrdiff_t type-alias
atomic_ptrdiff_t

Trait Implementations

atomic_intmax_t type-alias
atomic_intmax_t

Trait Implementations

atomic_uintmax_t type-alias
atomic_uintmax_t

Trait Implementations

memory_order type-alias
memory_order
atomic_flag type-alias
atomic_flag

Functions

atomic_init function
fn(obj : *(atomic_bool), value : bool) -> unit

Parameters

NameTypeNotes
obj*(atomic_bool)
valuebool

Returns: unit

atomic_load function
fn(obj : *(atomic_bool)) -> bool

Parameters

NameTypeNotes
obj*(atomic_bool)

Returns: bool

fn(obj : *(atomic_bool), order : memory_order) -> bool

Parameters

NameTypeNotes
obj*(atomic_bool)
ordermemory_order

Returns: bool

atomic_store function
fn(obj : *(atomic_bool), desired : bool) -> unit

Parameters

NameTypeNotes
obj*(atomic_bool)
desiredbool

Returns: unit

fn(obj : *(atomic_bool), desired : bool, order : memory_order) -> unit

Parameters

NameTypeNotes
obj*(atomic_bool)
desiredbool
ordermemory_order

Returns: unit

atomic_exchange function
fn(obj : *(atomic_bool), desired : bool) -> bool

Parameters

NameTypeNotes
obj*(atomic_bool)
desiredbool

Returns: bool

fn(obj : *(atomic_bool), desired : bool, order : memory_order) -> bool

Parameters

NameTypeNotes
obj*(atomic_bool)
desiredbool
ordermemory_order

Returns: bool

fn(obj : *(atomic_bool), expected : *(bool), desired : bool) -> bool

Parameters

NameTypeNotes
obj*(atomic_bool)
expected*(bool)
desiredbool

Returns: bool

fn(obj : *(atomic_bool), expected : *(bool), desired : bool, success : memory_order, failure : memory_order) -> bool

Parameters

NameTypeNotes
obj*(atomic_bool)
expected*(bool)
desiredbool
successmemory_order
failurememory_order

Returns: bool

fn(obj : *(atomic_bool), expected : *(bool), desired : bool) -> bool

Parameters

NameTypeNotes
obj*(atomic_bool)
expected*(bool)
desiredbool

Returns: bool

fn(obj : *(atomic_bool), expected : *(bool), desired : bool, success : memory_order, failure : memory_order) -> bool

Parameters

NameTypeNotes
obj*(atomic_bool)
expected*(bool)
desiredbool
successmemory_order
failurememory_order

Returns: bool

atomic_fetch_add function
fn(obj : *(atomic_int), arg : int) -> int

Parameters

NameTypeNotes
obj*(atomic_int)
argint

Returns: int

fn(obj : *(atomic_int), arg : int, order : memory_order) -> int

Parameters

NameTypeNotes
obj*(atomic_int)
argint
ordermemory_order

Returns: int

atomic_fetch_sub function
fn(obj : *(atomic_int), arg : int) -> int

Parameters

NameTypeNotes
obj*(atomic_int)
argint

Returns: int

fn(obj : *(atomic_int), arg : int, order : memory_order) -> int

Parameters

NameTypeNotes
obj*(atomic_int)
argint
ordermemory_order

Returns: int

atomic_fetch_or function
fn(obj : *(atomic_int), arg : int) -> int

Parameters

NameTypeNotes
obj*(atomic_int)
argint

Returns: int

fn(obj : *(atomic_int), arg : int, order : memory_order) -> int

Parameters

NameTypeNotes
obj*(atomic_int)
argint
ordermemory_order

Returns: int

atomic_fetch_xor function
fn(obj : *(atomic_int), arg : int) -> int

Parameters

NameTypeNotes
obj*(atomic_int)
argint

Returns: int

fn(obj : *(atomic_int), arg : int, order : memory_order) -> int

Parameters

NameTypeNotes
obj*(atomic_int)
argint
ordermemory_order

Returns: int

atomic_fetch_and function
fn(obj : *(atomic_int), arg : int) -> int

Parameters

NameTypeNotes
obj*(atomic_int)
argint

Returns: int

fn(obj : *(atomic_int), arg : int, order : memory_order) -> int

Parameters

NameTypeNotes
obj*(atomic_int)
argint
ordermemory_order

Returns: int

atomic_load_ptr function
fn(obj : *(*(void))) -> *(void)

Parameters

NameTypeNotes
obj*(*(void))

Returns: *(void)

atomic_store_ptr function
fn(obj : *(*(void)), desired : *(void)) -> unit

Parameters

NameTypeNotes
obj*(*(void))
desired*(void)

Returns: unit

fn(obj : *(*(void)), desired : *(void)) -> *(void)

Parameters

NameTypeNotes
obj*(*(void))
desired*(void)

Returns: *(void)

fn(obj : *(*(void)), expected : *(*(void)), desired : *(void)) -> bool

Parameters

NameTypeNotes
obj*(*(void))
expected*(*(void))
desired*(void)

Returns: bool

fn(obj : *(*(void)), expected : *(*(void)), desired : *(void)) -> bool

Parameters

NameTypeNotes
obj*(*(void))
expected*(*(void))
desired*(void)

Returns: bool

fn(obj : *(atomic_flag)) -> bool

Parameters

NameTypeNotes
obj*(atomic_flag)

Returns: bool

fn(obj : *(atomic_flag), order : memory_order) -> bool

Parameters

NameTypeNotes
obj*(atomic_flag)
ordermemory_order

Returns: bool

fn(obj : *(atomic_flag)) -> unit

Parameters

NameTypeNotes
obj*(atomic_flag)

Returns: unit

fn(obj : *(atomic_flag), order : memory_order) -> unit

Parameters

NameTypeNotes
obj*(atomic_flag)
ordermemory_order

Returns: unit

fn(order : memory_order) -> unit

Parameters

NameTypeNotes
ordermemory_order

Returns: unit

fn(order : memory_order) -> unit

Parameters

NameTypeNotes
ordermemory_order

Returns: unit

fn(obj : *(atomic_bool)) -> bool

Parameters

NameTypeNotes
obj*(atomic_bool)

Returns: bool

kill_dependency function
fn(y : i32) -> i32

Parameters

NameTypeNotes
yi32

Returns: i32

Constants

memory_order_relaxed constant memory_order

Value: memory_order_relaxed

memory_order_consume constant memory_order

Value: memory_order_consume

memory_order_acquire constant memory_order

Value: memory_order_acquire

memory_order_release constant memory_order

Value: memory_order_release

memory_order_acq_rel constant memory_order

Value: memory_order_acq_rel

memory_order_seq_cst constant memory_order

Value: memory_order_seq_cst

ATOMIC_BOOL_LOCK_FREE constant i32

Value: ATOMIC_BOOL_LOCK_FREE

ATOMIC_CHAR_LOCK_FREE constant i32

Value: ATOMIC_CHAR_LOCK_FREE

Value: ATOMIC_CHAR16_T_LOCK_FREE

Value: ATOMIC_CHAR32_T_LOCK_FREE

Value: ATOMIC_WCHAR_T_LOCK_FREE

ATOMIC_SHORT_LOCK_FREE constant i32

Value: ATOMIC_SHORT_LOCK_FREE

ATOMIC_INT_LOCK_FREE constant i32

Value: ATOMIC_INT_LOCK_FREE

ATOMIC_LONG_LOCK_FREE constant i32

Value: ATOMIC_LONG_LOCK_FREE

ATOMIC_LLONG_LOCK_FREE constant i32

Value: ATOMIC_LLONG_LOCK_FREE

Value: ATOMIC_POINTER_LOCK_FREE