From cc79f5581754172380d878636354a79e3351b96e Mon Sep 17 00:00:00 2001 From: Bananymous Date: Tue, 30 Jan 2024 01:06:32 +0200 Subject: [PATCH] BAN: Add compare_exchange to atomic --- BAN/include/BAN/Atomic.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BAN/include/BAN/Atomic.h b/BAN/include/BAN/Atomic.h index f07393ff..812c74b4 100644 --- a/BAN/include/BAN/Atomic.h +++ b/BAN/include/BAN/Atomic.h @@ -35,6 +35,8 @@ namespace BAN inline T operator--(int) volatile { return __atomic_fetch_sub(&m_value, 1, MEM_ORDER); } inline T operator++(int) volatile { return __atomic_fetch_add(&m_value, 1, MEM_ORDER); } + inline bool compare_exchange(T expected, T desired) volatile { return __atomic_compare_exchange_n(&m_value, &expected, desired, false, MEM_ORDER, MEM_ORDER); } + private: T m_value; };