CHERIoT RTOS
A compartmentalised RTOS for CHERIoT hardware
Loading...
Searching...
No Matches
stdatomic.h File Reference

This file implements the C11 and C++23 C atomics interfaces. More...

#include <atomic>

Go to the source code of this file.

Macros

#define _Atomic(T)

Functions

typedef _Atomic (_Bool) atomic_bool
typedef _Atomic (char) atomic_char
typedef _Atomic (signed char) atomic_schar
typedef _Atomic (unsigned char) atomic_uchar
typedef _Atomic (short) atomic_short
typedef _Atomic (unsigned short) atomic_ushort
typedef _Atomic (int) atomic_int
typedef _Atomic (unsigned int) atomic_uint
typedef _Atomic (long) atomic_long
typedef _Atomic (unsigned long) atomic_ulong
typedef _Atomic (long long) atomic_llong
typedef _Atomic (unsigned long long) atomic_ullong
typedef _Atomic (int_least8_t) atomic_int_least8_t
typedef _Atomic (uint_least8_t) atomic_uint_least8_t
typedef _Atomic (int_least16_t) atomic_int_least16_t
typedef _Atomic (uint_least16_t) atomic_uint_least16_t
typedef _Atomic (int_least32_t) atomic_int_least32_t
typedef _Atomic (uint_least32_t) atomic_uint_least32_t
typedef _Atomic (int_least64_t) atomic_int_least64_t
typedef _Atomic (uint_least64_t) atomic_uint_least64_t
typedef _Atomic (int_fast8_t) atomic_int_fast8_t
typedef _Atomic (uint_fast8_t) atomic_uint_fast8_t
typedef _Atomic (int_fast16_t) atomic_int_fast16_t
typedef _Atomic (uint_fast16_t) atomic_uint_fast16_t
typedef _Atomic (int_fast32_t) atomic_int_fast32_t
typedef _Atomic (uint_fast32_t) atomic_uint_fast32_t
typedef _Atomic (int_fast64_t) atomic_int_fast64_t
typedef _Atomic (uint_fast64_t) atomic_uint_fast64_t
typedef _Atomic (intptr_t) atomic_intptr_t
typedef _Atomic (uintptr_t) atomic_uintptr_t
typedef _Atomic (size_t) atomic_size_t
typedef _Atomic (ptrdiff_t) atomic_ptrdiff_t

Detailed Description

This file implements the C11 and C++23 C atomics interfaces.

On targets without hardware atomics, these will all lower to calls into the atomics shared library. You must link either atomics or atomics_fixed (if you use only fixed-width atomics) into your firmware image.

WARNING: The C++ atomics interface is more efficient for non-primitive types but is not guaranteed to be interoperable with the C version. Interoperable code should use only primitive types in atomics.

Definition in file stdatomic.h.

Macro Definition Documentation

◆ _Atomic

#define _Atomic ( T)
Value:
std::atomic<T>

Definition at line 16 of file stdatomic.h.