mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 15:17:36 +00:00
AK: Add default memory order as template argument for Atomic<T>
This is useful for collecting statistics, e.g. Atomic<unsigned, MemoryOrder::memory_order_relaxed> would allow using operators such as ++ to use relaxed semantics throughout without having to explicitly call fetch_add with the memory order.
This commit is contained in:
parent
a6c459dd29
commit
fb84f0ec9c
3 changed files with 38 additions and 30 deletions
13
AK/Types.h
13
AK/Types.h
|
@ -102,3 +102,16 @@ enum class [[nodiscard]] TriState : u8 {
|
|||
True,
|
||||
Unknown
|
||||
};
|
||||
|
||||
namespace AK {
|
||||
|
||||
enum MemoryOrder {
|
||||
memory_order_relaxed = __ATOMIC_RELAXED,
|
||||
memory_order_consume = __ATOMIC_CONSUME,
|
||||
memory_order_acquire = __ATOMIC_ACQUIRE,
|
||||
memory_order_release = __ATOMIC_RELEASE,
|
||||
memory_order_acq_rel = __ATOMIC_ACQ_REL,
|
||||
memory_order_seq_cst = __ATOMIC_SEQ_CST
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue