| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | ////  ALAtomicReference.h//  AppLovinSDK////  Created by Alan Cao on 1/5/24.//NS_ASSUME_NONNULL_BEGIN/** * An object reference that may be updated atomically. */@interface ALAtomicReference <ObjectType> : NSObject/** * Returns the current value. */- (nullable ObjectType)get;/** * Unconditionally sets to the given value. */- (void)set:(nullable ObjectType)newValue;/** * Atomically sets to the given value and returns the previous value. */- (nullable ObjectType)getAndSet:(nullable ObjectType)newValue;/** * Atomically sets the value to the given updated value if the current value == the expected value. * * @param expect The expected value. * @param update The new value. * * @return @c YES if successful. @c NO return indicates that the actual value was not equal to the expected value. */- (BOOL)compareAndSet:(nullable ObjectType)expect update:(nullable ObjectType)update;/** * Creates an instance with the given initial value. */- (instancetype)initWithValue:(nullable ObjectType)initialValue;@endNS_ASSUME_NONNULL_END
 |