| ... | @@ -26,6 +26,10 @@ pub fn Int(comptime T: type) type { | ... | @@ -26,6 +26,10 @@ pub fn Int(comptime T: type) type { |
| 26 | return @atomicLoad(T, &self.unprotected_value, AtomicOrder.SeqCst); | 26 | return @atomicLoad(T, &self.unprotected_value, AtomicOrder.SeqCst); |
| 27 | } | 27 | } |
| 28 | | 28 | |
| | 29 | pub fn set(self: *Self, new_value: T) void { |
| | 30 | _ = self.xchg(new_value); |
| | 31 | } |
| | 32 | |
| 29 | pub fn xchg(self: *Self, new_value: T) T { | 33 | pub fn xchg(self: *Self, new_value: T) T { |
| 30 | return @atomicRmw(T, &self.unprotected_value, builtin.AtomicRmwOp.Xchg, new_value, AtomicOrder.SeqCst); | 34 | return @atomicRmw(T, &self.unprotected_value, builtin.AtomicRmwOp.Xchg, new_value, AtomicOrder.SeqCst); |
| 31 | } | 35 | } |